@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Nunito:wght@300;400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Nunito:wght@300;400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Nunito:wght@300;400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Nunito:wght@300;400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Nunito:wght@300;400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Nunito:wght@300;400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Nunito:wght@300;400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Nunito:wght@300;400;500;600&family=Poppins:wght@400;500;600;700&display=swap";.home{--bg-card:color-mix(in srgb, var(--overlay) 7%, transparent);--bg-card-hov:color-mix(in srgb, var(--overlay) 12%, transparent);--gold:var(--accent);--gold-dim:color-mix(in srgb, var(--accent) 25%, transparent);--gold-border:color-mix(in srgb, var(--accent) 35%, transparent);--rose:var(--primary);--rose-text:var(--heading-tint);--blue-accent:var(--info);--text-muted:color-mix(in srgb, var(--text) 60%, var(--bg));--text-dim:color-mix(in srgb, var(--overlay) 65%, transparent);background:var(--bg);min-height:100vh;color:var(--text);font-family:Nunito,system-ui,sans-serif;overflow-x:hidden}.home__hero{background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;height:56vh;min-height:320px;display:flex;position:relative}.home__hero-overlay{background:linear-gradient(#2a0e1c1a 0%,#2a0e1c0a 35%,#2a0e1c99 70%,#2a0e1cf5 100%);position:absolute;inset:0}.home__hero-topbar{z-index:2;gap:8px;padding:18px 18px 0;display:flex;position:absolute;top:0;right:0}.home__hero-text{z-index:2;padding:0 22px 28px;position:relative}.home__layout{flex-direction:column;gap:18px;padding:22px 22px 36px;display:flex}.home__circle-zone{display:none}.home__content{flex-direction:column;gap:16px;display:flex}.home__desktop-head{display:none}.home__icon-btn{background:color-mix(in srgb, var(--overlay) 12%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 18%, transparent);cursor:pointer;width:34px;height:34px;color:color-mix(in srgb, var(--text) 90%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.home__icon-btn:hover{background:color-mix(in srgb, var(--overlay) 20%, transparent)}.home__hero-topbar .home__icon-btn{color:#fff;background:#08080e73;border-color:#ffffff59}.home__hero-topbar .home__icon-btn:hover{background:#08080ea6}.home__topbar{justify-content:flex-end;gap:8px;margin-bottom:16px;display:flex}.home__eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:500}.home__eyebrow--gold{color:var(--gold)}.home__heading{font-family:var(--font-display);font-style:var(--display-style);color:var(--text);margin:0;font-size:36px;font-weight:400;line-height:1.1}.home__heading em{color:var(--rose-text);font-style:normal;font-weight:600}.home__hero-text .home__eyebrow{color:#fff5f8c7}.home__hero-text .home__heading{color:#fff5f8}.home__hero-text .home__heading em{color:#ffd0dc}.home__countdown{background:var(--bg-card);border:.5px solid var(--gold-border);border-radius:12px;align-items:center;gap:14px;padding:13px 16px;display:flex}.home__countdown-main{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.home__countdown-divider{background:color-mix(in srgb, var(--overlay) 15%, transparent);flex-shrink:0;align-self:stretch;width:.5px}.home__countdown-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;font-size:10px}.home__countdown-stats{flex-direction:column;flex:1;gap:6px;display:flex}.home__countdown-stats span{color:var(--text-muted);letter-spacing:.3px;font-size:10px;line-height:1.4}.home__countdown-ring{margin-left:auto}.home__countdown-number{font-family:var(--font-display);color:var(--text);font-size:26px;font-weight:600;line-height:1}.home__countdown-ring{width:40px;height:40px;color:var(--gold);opacity:.4;flex-shrink:0}.home__cta-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.home__btn{cursor:pointer;text-align:left;border:none;border-radius:11px;align-items:center;gap:9px;padding:13px 14px;font-family:Nunito,system-ui,sans-serif;transition:opacity .15s,transform .1s;display:flex}.home__btn:active{transform:scale(.97)}.home__btn-text{flex-direction:column;line-height:1.2;display:flex}.home__btn-text strong{font-size:13px;font-weight:500}.home__btn-text span{opacity:.8;font-size:11px;font-weight:300}.home__btn--rose{background:var(--rose);color:var(--on-primary)}.home__btn--rose svg{stroke:var(--heading-tint);flex-shrink:0}.home__btn--rose:hover{opacity:.88}.home__btn--ghost{background:var(--bg-card);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);color:color-mix(in srgb, var(--text) 85%, transparent)}.home__btn--ghost svg{stroke:var(--blue-accent);flex-shrink:0}.home__btn--ghost:hover{background:var(--bg-card-hov)}.home__btn--full{grid-column:1/-1}.home__hearts-bg{pointer-events:none;z-index:2;position:fixed;inset:0}.home__heart-icon{color:var(--gold);position:absolute}@media (width>=768px){.home__hero{display:none}.home__layout{flex-direction:row;align-items:stretch;gap:0;min-height:100vh;padding:0}.home__circle-zone{flex-shrink:0;justify-content:center;align-items:center;width:44%;padding:40px;display:flex;position:relative}.home__circle-zone:before{content:"";background:radial-gradient(ellipse 70% 70% at 50% 50%, color-mix(in srgb, var(--primary) 30%, transparent) 0%, transparent 75%);pointer-events:none;position:absolute;inset:0}.home__ring-outer{border:.5px solid var(--gold-dim);pointer-events:none;border-radius:50%;width:420px;height:420px;position:absolute}.home__circle-photo{border:2px solid var(--gold);z-index:1;border-radius:50%;width:380px;height:380px;position:relative;overflow:hidden}.home__circle-photo-blur{filter:blur(18px);background-position:50%;background-size:cover;position:absolute;inset:-15%;transform:scale(1.1)}.home__circle-photo-img{background-position:50%;background-repeat:no-repeat;background-size:90%;position:absolute;inset:0}.home__content{flex:1;justify-content:center;gap:20px;padding:44px 52px;overflow-y:auto}.home__desktop-head{display:block}.home__heading{font-size:44px}.home__countdown-number{font-size:28px}}@media (width>=1200px){.home__circle-photo{width:460px;height:460px}.home__ring-outer{width:514px;height:514px}.home__content{gap:22px;padding:52px 72px}.home__heading{font-size:52px}}.browse{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;align-items:center;padding-bottom:48px;font-family:Nunito,system-ui,sans-serif;display:flex}.date-prompt{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:32px 24px;display:flex}.date-prompt__card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:360px;display:flex}.date-prompt__check{color:var(--accent);font-size:44px;line-height:1}.date-prompt__idea{font-family:var(--font-display);font-style:var(--display-style);color:var(--heading-tint);margin:0;font-size:22px;line-height:1.3}.date-prompt__question{color:color-mix(in srgb, var(--text) 64%, transparent);margin:4px 0 8px;font-size:14px}.date-prompt__btn{cursor:pointer;border:none;border-radius:14px;width:100%;padding:14px;font-family:Nunito,system-ui,sans-serif;font-size:15px;font-weight:500;transition:opacity .15s,transform .1s}.date-prompt__btn:active{transform:scale(.97)}.date-prompt__btn--today{background:var(--primary);color:var(--on-primary)}.date-prompt__btn--today:hover{opacity:.87}.date-prompt__btn--other{background:color-mix(in srgb, var(--primary) 15%, transparent);border:.5px solid color-mix(in srgb, var(--primary) 45%, transparent);color:var(--danger-soft)}.date-prompt__btn--other:hover{background:color-mix(in srgb, var(--primary) 24%, transparent)}.date-prompt__btn--later{color:color-mix(in srgb, var(--text) 66%, transparent);background:0 0;padding:8px;font-size:13px}.date-prompt__btn--later:hover{color:color-mix(in srgb, var(--text) 66%, transparent)}.date-prompt__picker{flex-direction:column;gap:10px;width:100%;display:flex}.date-prompt__input{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 40%, transparent);width:100%;color:var(--text);box-sizing:border-box;border-radius:12px;outline:none;padding:12px 14px;font-family:Nunito,system-ui,sans-serif;font-size:15px}.date-prompt__input:focus{border-color:color-mix(in srgb, var(--accent) 75%, transparent)}.date-prompt__btn--save{background:var(--primary);color:var(--on-primary)}.date-prompt__btn--save:hover:not(:disabled){opacity:.87}.date-prompt__btn--save:disabled{opacity:.4;cursor:default}.date-prompt__btn:disabled{opacity:.45;cursor:default}.date-prompt__error{color:var(--danger-soft);text-align:center;margin:4px 0 0;font-size:12px;line-height:1.5}.browse--loading{color:color-mix(in srgb, var(--text) 65%, transparent);justify-content:center;gap:16px;font-size:14px}.browse__spinner{border:2px solid color-mix(in srgb, var(--accent) 20%, transparent);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite browseSpinLoader}@keyframes browseSpinLoader{to{transform:rotate(360deg)}}.browse__topbar{justify-content:space-between;align-items:center;width:100%;max-width:520px;padding:20px 20px 0;display:flex}.browse__icon-btn{background:color-mix(in srgb, var(--overlay) 8%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);width:36px;height:36px;color:color-mix(in srgb, var(--text) 88%, transparent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.browse__icon-btn:hover{background:color-mix(in srgb, var(--overlay) 15%, transparent)}.browse__title{font-family:var(--font-display);font-style:var(--display-style);color:var(--text);margin:0;font-size:32px;font-weight:400}.browse__filters{width:100%;max-width:520px;padding:35px 16px 0;position:relative}.browse__filter-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.browse__filter-pill{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 12%, transparent);color:color-mix(in srgb, var(--text) 64%, transparent);letter-spacing:.4px;text-transform:uppercase;cursor:pointer;border-radius:20px;align-items:center;gap:5px;padding:5px 11px;font-family:Nunito,system-ui,sans-serif;font-size:11px;font-weight:500;transition:all .15s;display:flex}.browse__filter-pill:hover{border-color:color-mix(in srgb, var(--overlay) 25%, transparent);color:color-mix(in srgb, var(--text) 80%, transparent)}.browse__filter-pill--open{background:color-mix(in srgb, var(--overlay) 11%, transparent);border-color:color-mix(in srgb, var(--overlay) 28%, transparent);color:color-mix(in srgb, var(--text) 90%, transparent)}.browse__filter-pill--active{border-color:color-mix(in srgb, var(--overlay) 20%, transparent);color:color-mix(in srgb, var(--text) 75%, transparent)}.browse__filter-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.browse__filter-dot--mood{background:var(--danger-soft)}.browse__filter-dot--energy{background:var(--accent)}.browse__filter-dot--time{background:var(--info)}.browse__filter-dot--budget{background:var(--success)}:root[data-theme=midnight] .browse__filter-dot--mood{background:#4fc3f7}.browse__filter-arrow{opacity:.5;flex-shrink:0;transition:transform .2s}.browse__filter-pill--open .browse__filter-arrow{opacity:.8;transform:rotate(180deg)}.browse__dropdown{background:color-mix(in srgb, var(--overlay) 5%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 10%, transparent);border-radius:12px;flex-direction:column;gap:10px;margin-top:8px;padding:12px;display:flex}.browse__chips{flex-wrap:wrap;gap:5px;display:flex}.browse__reset-row{justify-content:center;margin-top:8px;display:flex}.browse__reset-btn{background:color-mix(in srgb, var(--primary) 15%, transparent);border:.5px solid color-mix(in srgb, var(--primary) 30%, transparent);color:var(--danger-soft);letter-spacing:.3px;cursor:pointer;border-radius:20px;align-items:center;gap:5px;padding:5px 13px;font-family:Nunito,system-ui,sans-serif;font-size:11px;transition:background .15s;display:flex}.browse__reset-btn:hover{background:color-mix(in srgb, var(--primary) 28%, transparent)}.browse__chip{cursor:pointer;background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 12%, transparent);color:color-mix(in srgb, var(--overlay) 65%, transparent);border-radius:20px;padding:3px 10px;font-family:Nunito,system-ui,sans-serif;font-size:11px;font-weight:400;transition:all .15s}.browse__chip:hover{border-color:color-mix(in srgb, var(--overlay) 25%, transparent);color:color-mix(in srgb, var(--text) 85%, transparent)}.browse__chip--mood.browse__chip--active{background:color-mix(in srgb, var(--primary) 28%, transparent);border-color:color-mix(in srgb, var(--primary) 55%, transparent);color:var(--danger-soft)}:root[data-theme=midnight] .browse__chip--mood.browse__chip--active{border-color:color-mix(in srgb, var(--accent) 60%, transparent);color:var(--accent)}.browse__chip--energy.browse__chip--active{background:color-mix(in srgb, var(--accent) 20%, transparent);border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent)}.browse__chip--time.browse__chip--active{background:color-mix(in srgb, var(--info) 20%, transparent);border-color:color-mix(in srgb, var(--info) 50%, transparent);color:var(--info)}.browse__chip--budget.browse__chip--active{background:color-mix(in srgb, var(--success-deep) 20%, transparent);border-color:color-mix(in srgb, var(--success-deep) 50%, transparent);color:var(--success)}.browse__mode-toggle{border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);border-radius:20px;flex-shrink:0;display:flex;overflow:hidden}.browse__mode-btn{color:color-mix(in srgb, var(--text) 66%, transparent);letter-spacing:.4px;cursor:pointer;background:0 0;border:none;padding:4px 10px;font-family:Nunito,system-ui,sans-serif;font-size:10px;font-weight:600;transition:background .15s,color .15s}.browse__mode-btn--active{background:color-mix(in srgb, var(--primary) 28%, transparent);color:var(--danger-soft)}.wheel-mechanic{padding-top:30px}.browse__wheel-area{justify-content:center;align-items:center;width:340px;height:340px;margin:20px 0 0;display:flex;position:relative}.browse__pointer-svg{z-index:10;pointer-events:none;filter:drop-shadow(0 2px 6px #0000008c);width:20px;height:30px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.browse__wheel-wrap{transform-origin:50%;width:340px;height:340px}.browse__wheel-svg{width:100%;height:100%;display:block}.browse__spin-btn{z-index:5;background:var(--primary);width:52px;height:52px;color:var(--on-primary);cursor:pointer;letter-spacing:.2px;text-align:center;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent), 0 4px 14px #00000073;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-family:Nunito,system-ui,sans-serif;font-size:11px;font-weight:500;line-height:1.2;transition:opacity .15s,transform .1s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.browse__spin-btn:hover:not(:disabled){opacity:.87}.browse__spin-btn:active:not(:disabled){transform:translate(-50%,-50%)scale(.93)}.browse__spin-btn:disabled{opacity:.45;cursor:default}.browse__spin-btn--busy{animation:1.2s ease-in-out infinite btnPulse}@keyframes btnPulse{0%,to{opacity:.45}50%{opacity:.7}}.browse__no-ideas{color:color-mix(in srgb, var(--text) 66%, transparent);text-align:center;max-width:280px;margin-top:14px;font-size:13px;line-height:1.5}.browse__overlay{z-index:200;opacity:0;pointer-events:none;background:#0f040ab8;justify-content:center;align-items:flex-end;transition:opacity .3s;display:flex;position:fixed;inset:0}.browse__overlay--visible{opacity:1;pointer-events:all}.browse__card{background:var(--bg);border:.5px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:24px 24px 0 0;width:100%;max-width:600px;max-height:82vh;padding:12px 22px 44px;transition:transform .42s cubic-bezier(.32,.72,0,1);overflow-y:auto;transform:translateY(100%)}.browse__overlay--visible .browse__card{transform:translateY(0)}.browse__card-handle{background:color-mix(in srgb, var(--text) 18%, transparent);border-radius:2px;width:36px;height:4px;margin:0 auto 18px}.browse__card-tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.browse__tag{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);color:color-mix(in srgb, var(--text) 66%, transparent);text-transform:capitalize;border-radius:20px;padding:3px 9px;font-size:10px}.browse__tag--gold{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--accent)}.browse__tag--mood{background:color-mix(in srgb, var(--primary) 28%, transparent);border-color:color-mix(in srgb, var(--primary) 55%, transparent);color:var(--danger-soft)}.browse__tag--energy{background:color-mix(in srgb, var(--accent) 20%, transparent);border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent)}.browse__tag--time{background:color-mix(in srgb, var(--info) 20%, transparent);border-color:color-mix(in srgb, var(--info) 50%, transparent);color:var(--info)}.browse__tag--budget{background:color-mix(in srgb, var(--success-deep) 20%, transparent);border-color:color-mix(in srgb, var(--success-deep) 50%, transparent);color:var(--success)}.browse__card-title{font-family:var(--font-display);font-style:var(--display-style);color:var(--heading-tint);overflow-wrap:break-word;margin:0 0 12px;font-size:28px;font-weight:400;line-height:1.2}.browse__card-desc{color:color-mix(in srgb, var(--text) 68%, transparent);margin-bottom:16px;font-size:14px;line-height:1.68}.browse__card-location{color:color-mix(in srgb, var(--text) 65%, transparent);margin-bottom:8px;font-size:13px}.browse__card-shopping{color:color-mix(in srgb, var(--accent) 72%, transparent);margin-bottom:22px;font-size:12px;line-height:1.5}.browse__card-actions{flex-direction:column;gap:10px;display:flex}.browse__action-accept{background:var(--primary);width:100%;color:var(--on-primary);cursor:pointer;border:none;border-radius:12px;padding:14px;font-family:Nunito,system-ui,sans-serif;font-size:15px;font-weight:500;transition:opacity .15s}.browse__action-accept:hover{opacity:.87}.browse__action-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.browse__action-secondary{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 14%, transparent);color:color-mix(in srgb, var(--text) 65%, transparent);cursor:pointer;border-radius:10px;padding:12px;font-family:Nunito,system-ui,sans-serif;font-size:13px;font-weight:400;transition:background .15s}.browse__action-secondary:hover{background:color-mix(in srgb, var(--overlay) 12%, transparent)}@media (width>=768px){.browse__wheel-area,.browse__wheel-wrap{width:360px;height:360px}.browse__overlay{align-items:center;padding:20px}.browse__card{opacity:0;border-radius:24px;max-width:480px;max-height:80vh;transition:transform .35s cubic-bezier(.32,.72,0,1),opacity .35s;transform:translateY(40px)scale(.96)}.browse__overlay--visible .browse__card{opacity:1;transform:translateY(0)scale(1)}.browse__card-handle{display:none}}.browse__action-accept--loading{background:color-mix(in srgb, var(--primary) 75%, black);cursor:default;opacity:.9}.swipe-mechanic{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:520px;margin:0 auto;padding:32px 20px 40px;display:flex}.swipe__stack{border-radius:20px;width:min(100%,360px);height:370px;position:relative;overflow:hidden}.swipe__card{background:linear-gradient(160deg, var(--bg-raised) 0%, var(--bg) 100%);border:.5px solid color-mix(in srgb, var(--accent) 25%, transparent);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:20px;flex-direction:column;gap:12px;padding:24px 22px 20px;display:flex;overflow:hidden}.swipe__card--back1,.swipe__card--back2{pointer-events:none;position:absolute;inset:0}.swipe__card--top{cursor:grab;z-index:2;height:100%;position:relative;box-shadow:0 12px 40px #0006}.swipe__card--top:active{cursor:grabbing;box-shadow:0 20px 60px #0000008c}.swipe__card--back1{opacity:.7;pointer-events:none;z-index:1;transform:scale(.95)translateY(12px)}.swipe__card--back2{opacity:.4;pointer-events:none;z-index:0;transform:scale(.9)translateY(24px)}.swipe__card--top{z-index:2;transition:box-shadow .15s;box-shadow:0 12px 40px #0006}.swipe__card--top:active{box-shadow:0 20px 60px #0000008c}.swipe__card--fly-left{pointer-events:none;opacity:0!important;transition:transform .32s ease-in,opacity .32s ease-in!important;transform:translate(-140%)rotate(-20deg)!important}.swipe__card--fly-right{pointer-events:none;opacity:0!important;transition:transform .32s ease-in,opacity .32s ease-in!important;transform:translate(140%)rotate(20deg)!important}.swipe__stamp{pointer-events:none;border-radius:8px;padding:2px 10px;font-size:36px;font-weight:700;transition:opacity .1s;position:absolute;top:20px}.swipe__stamp--accept{color:var(--success);border:2px solid var(--success);right:18px}.swipe__stamp--skip{color:var(--danger);border:2px solid var(--danger);left:18px}.swipe__card-tags{flex-wrap:wrap;gap:6px;display:flex}.swipe__card-title{font-family:var(--font-display);font-style:var(--display-style);color:var(--heading-tint);margin:0;font-size:26px;font-weight:400;line-height:1.2}.swipe__card-desc{color:color-mix(in srgb, var(--text) 65%, transparent);margin:0;line-height:1.6}.swipe__buttons{gap:40px;display:flex}.swipe__btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:22px;transition:transform .1s,opacity .15s;display:flex}.swipe__btn:active{transform:scale(.92)}.swipe__btn--skip{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger);border:1.5px solid color-mix(in srgb, var(--danger) 35%, transparent)}.swipe__btn--accept{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success);border:1.5px solid color-mix(in srgb, var(--success) 35%, transparent)}.swipe__hint{color:color-mix(in srgb, var(--text) 60%, transparent);text-align:center;max-width:360px;margin:0;font-size:13px}.swipe__hint--right{text-align:right;width:100%;margin-top:-16px}.swipe__empty{text-align:center;color:color-mix(in srgb, var(--text) 66%, transparent);padding:48px 24px;font-size:15px}.cupid-mechanic{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:520px;margin:0 auto;padding:4px 20px 40px;display:flex}.cupid__hint{color:color-mix(in srgb, var(--text) 60%, transparent);text-align:center;max-width:360px;margin:0;font-size:13px}.cupid__scene{aspect-ratio:1;width:100%;position:relative}.cupid__svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.cupid__cloud{cursor:pointer;width:130px;height:68px;filter:drop-shadow(0 2px 10px #0009) drop-shadow(0 0 2px color-mix(in srgb, var(--accent) 55%, transparent));transition:transform .18s,filter .18s;position:absolute;transform:translate(-50%,-60%)}.cupid__cloud:hover:not(.cupid__cloud--locked){filter:drop-shadow(0 4px 14px color-mix(in srgb, var(--primary) 55%, transparent)) drop-shadow(0 0 3px color-mix(in srgb, var(--accent) 75%, transparent));transform:translate(-50%,-65%)}.cupid__cloud--locked{cursor:default;opacity:.6}.cupid__cloud-svg{width:130px;height:68px;position:absolute;inset:0}.cupid__cloud-blobs circle,.cupid__cloud-blobs rect{fill:color-mix(in srgb, var(--primary) 45%, var(--bg))}.cupid__cloud--hit{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 95%, transparent)) drop-shadow(0 4px 14px color-mix(in srgb, var(--primary) 60%, transparent));animation:.4s cloudBeat;transform:translate(-50%,-60%)scale(1.1)}.cupid__cloud--hit .cupid__cloud-blobs circle,.cupid__cloud--hit .cupid__cloud-blobs rect{fill:color-mix(in srgb, var(--primary) 75%, black)}@keyframes cloudBeat{0%{transform:translate(-50%,-60%)scale(1)}40%{transform:translate(-50%,-60%)scale(1.18)}to{transform:translate(-50%,-60%)scale(1.1)}}.cupid__cloud-number{color:color-mix(in srgb, var(--heading-tint) 85%, transparent);pointer-events:none;justify-content:center;align-items:center;padding-bottom:4px;font-family:Nunito,system-ui,sans-serif;font-size:18px;font-weight:600;display:flex;position:absolute;inset:0}.cupid__cupid{filter:drop-shadow(0 2px 8px color-mix(in srgb, var(--accent) 40%, transparent));font-size:28px;position:absolute;transform:translate(-50%,-50%)}.cupid__empty{color:color-mix(in srgb, var(--text) 66%, transparent);text-align:center;font-size:14px}.memory-mechanic{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:520px;margin:0 auto;padding:8px 20px 40px;display:flex}.memory__hint{color:color-mix(in srgb, var(--text) 60%, transparent);text-align:center;max-width:360px;margin:0;font-size:13px}.memory__grid{grid-template-columns:repeat(4,1fr);gap:10px;width:min(100%,360px);display:grid}.memory__card{aspect-ratio:3/5;cursor:pointer;perspective:600px;border-radius:10px}.memory__card-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:10px;transition:transform .45s;position:relative}.memory__card--flipped .memory__card-inner,.memory__card--matched .memory__card-inner{transform:rotateY(180deg)}.memory__card--matched .memory__card-back{background:color-mix(in srgb, var(--success) 18%, transparent);border-color:color-mix(in srgb, var(--success) 45%, transparent)}.memory__card-front,.memory__card-back{backface-visibility:hidden;border-radius:10px;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;inset:0}.memory__card-front{background:linear-gradient(145deg, var(--game-surface-alt), var(--game-seg-b));border:.5px solid color-mix(in srgb, var(--accent) 30%, transparent)}.memory__card-front:after{content:"";border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);width:18px;height:18px;transform:rotate(45deg)}.memory__card-back{background:linear-gradient(145deg, var(--game-surface), var(--game-surface-alt));border:.5px solid color-mix(in srgb, var(--accent) 40%, transparent);transform:rotateY(180deg)}.memory__card-front,.memory__card-back{transition:visibility 0s .22s}.memory__card-back{visibility:hidden}.memory__card--flipped .memory__card-back,.memory__card--matched .memory__card-back{visibility:visible}.memory__card--flipped .memory__card-front,.memory__card--matched .memory__card-front{visibility:hidden}.memory__card-text{color:var(--game-label);text-align:center;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;font-family:Nunito,system-ui,sans-serif;font-size:11px;line-height:1.3}.memory__reset-btn{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);color:color-mix(in srgb, var(--text) 66%, transparent);cursor:pointer;border-radius:20px;padding:10px 24px;font-family:Nunito,system-ui,sans-serif;font-size:13px;transition:background .15s}.memory__reset-btn:hover{background:color-mix(in srgb, var(--overlay) 12%, transparent)}.snake-stage{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:520px;margin:0 auto;padding:4px 20px 40px;display:flex}.snake-canvas-wrap{border:.5px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:10px;width:100%;max-width:360px;position:relative;overflow:hidden}.snake-dot{background:color-mix(in srgb, var(--accent) 15%, transparent);border:1.5px solid var(--accent);pointer-events:none;border-radius:50%;width:28px;height:28px;animation:2s ease-in-out infinite dotPulse;position:absolute;transform:translate(-4px,-4px)}@keyframes dotPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 35%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 0%, transparent)}}.snake-dot--eating{animation:.5s forwards dotEat}@keyframes dotEat{0%{opacity:1;transform:translate(-4px,-4px)scale(1)}50%{opacity:.8;transform:translate(-4px,-4px)scale(1.6)}to{opacity:0;transform:translate(-4px,-4px)scale(0)}}.snake-dot-label{font-family:var(--font-display);font-style:var(--display-style);color:color-mix(in srgb, var(--accent) 75%, transparent);white-space:nowrap;font-size:7px;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.snake-controls{flex-direction:column;align-items:center;gap:4px;display:flex}.snake-controls-row{gap:4px;display:flex}.snake-btn{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);width:44px;height:44px;color:color-mix(in srgb, var(--text) 70%, transparent);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:18px;transition:background .1s;display:flex}.snake-btn:active{background:color-mix(in srgb, var(--primary) 30%, transparent);border-color:color-mix(in srgb, var(--primary) 50%, transparent)}.snake-hint{color:color-mix(in srgb, var(--text) 60%, transparent);text-align:center;max-width:360px;margin:0;font-family:Nunito,system-ui,sans-serif;font-size:13px}.hearts-stage{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:520px;margin:0 auto;padding:4px 16px 40px;display:flex}.hearts-hint{color:color-mix(in srgb, var(--text) 60%, transparent);text-align:center;max-width:360px;margin:0;font-family:Nunito,system-ui,sans-serif;font-size:13px}.hearts-canvas-wrap{border:.5px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:10px;width:min(100%,360px);line-height:0;position:relative;overflow:hidden}.hearts-progress{z-index:2;pointer-events:none;flex-direction:column;align-items:flex-end;gap:3px;max-width:160px;display:flex;position:absolute;top:8px;right:8px}.hearts-progress-row{background:color-mix(in srgb, var(--game-surface-alt) 85%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;align-items:center;padding:3px 7px;display:flex}.hearts-progress-pips{flex-shrink:0;gap:3px;display:flex}.hearts-pip{color:color-mix(in srgb, var(--danger) 20%, transparent);font-size:12px;line-height:1}.hearts-pip--full{color:var(--danger);filter:drop-shadow(0 0 3px color-mix(in srgb, var(--danger) 60%, transparent))}.ball-stage{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:520px;margin:0 auto;padding:4px 20px 40px;display:flex}.ball-hint{color:color-mix(in srgb, var(--text) 30%, transparent);text-align:center;max-width:360px;margin:0;font-family:Nunito,system-ui,sans-serif;font-size:11px}.ball-canvas-wrap{border:.5px solid color-mix(in srgb, var(--accent) 20%, transparent);cursor:none;border-radius:10px;line-height:0;overflow:hidden}.snake-canvas-wrap canvas,.hearts-canvas-wrap canvas,.ball-canvas-wrap canvas{touch-action:none;display:block}.hearts-canvas-wrap canvas{aspect-ratio:300/360;width:100%}.create{background:var(--bg);min-height:100dvh;color:var(--text);flex-direction:column;align-items:center;padding-bottom:48px;font-family:Nunito,system-ui,sans-serif;display:flex}.create__topbar{justify-content:space-between;align-items:center;width:100%;max-width:520px;padding:20px 20px 0;display:flex}.create__icon-btn{background:color-mix(in srgb, var(--overlay) 8%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);width:36px;height:36px;color:color-mix(in srgb, var(--text) 88%, transparent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.create__icon-btn:hover{background:color-mix(in srgb, var(--overlay) 15%, transparent)}.create__title{font-family:var(--font-display);font-style:var(--display-style);color:var(--text);margin:0;font-size:32px;font-weight:400}.create__progress{gap:7px;margin:24px 0 0;display:flex}.create__dot{background:color-mix(in srgb, var(--text) 15%, transparent);border-radius:50%;width:6px;height:6px;transition:all .2s}.create__dot--active{background:var(--accent);border-radius:3px;width:18px}.create__dot--done{background:color-mix(in srgb, var(--accent) 40%, transparent)}.create__question-block{width:100%;max-width:520px;padding:28px 24px 8px;animation:.28s fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.create__question{color:color-mix(in srgb, var(--text) 88%, transparent);margin:0 0 6px;font-family:Nunito,system-ui,sans-serif;font-size:14px;font-style:normal;line-height:1.65}.create__hint{color:color-mix(in srgb, var(--text) 66%, transparent);margin:0;font-size:12px}.create__options{width:100%;max-width:520px;padding:16px 24px 0;animation:.3s fadeSlideIn}.create__chips{flex-wrap:wrap;gap:9px;display:flex}.create__chip{cursor:pointer;background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 12%, transparent);color:color-mix(in srgb, var(--text) 64%, transparent);border-radius:20px;padding:7px 16px;font-family:Nunito,system-ui,sans-serif;font-size:13px;transition:all .15s}.create__chip:hover{border-color:color-mix(in srgb, var(--overlay) 28%, transparent);color:color-mix(in srgb, var(--text) 75%, transparent)}.create__chip--active{background:color-mix(in srgb, var(--primary) 28%, transparent);border-color:color-mix(in srgb, var(--primary) 55%, transparent);color:var(--danger-soft)}:root[data-theme=midnight] .create__chip--active{border-color:color-mix(in srgb, var(--accent) 60%, transparent);color:var(--accent)}.create__chip--large{text-align:left;border-radius:12px;width:100%;padding:10px 20px;font-size:14px}.create__textarea{background:color-mix(in srgb, var(--overlay) 6%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 30%, transparent);width:100%;color:var(--text);resize:none;border-radius:12px;outline:none;padding:14px;font-family:Nunito,system-ui,sans-serif;font-size:16px;line-height:1.6;transition:border-color .15s}.create__textarea:focus{border-color:color-mix(in srgb, var(--accent) 65%, transparent)}.create__textarea::placeholder{color:color-mix(in srgb, var(--text) 25%, transparent)}.create__error{width:100%;max-width:520px;color:var(--danger-soft);text-align:center;margin-top:12px;padding:0 24px;font-size:13px}.create__next-btn{background:var(--primary);color:var(--on-primary);cursor:pointer;letter-spacing:.2px;border:none;border-radius:28px;margin-top:28px;padding:13px 40px;font-family:Nunito,system-ui,sans-serif;font-size:15px;font-weight:500;transition:opacity .15s,transform .1s}.create__next-btn:hover:not(:disabled){opacity:.87}.create__next-btn:active:not(:disabled){transform:scale(.96)}.create__next-btn:disabled{opacity:.35;cursor:default}.create--generating{justify-content:center;gap:20px}.create__generating-anim{justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative}.create__orbit{border:1.5px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:50%;animation:2s ease-in-out infinite orbitPulse;position:absolute;inset:0}.create__orbit--2{border-color:color-mix(in srgb, var(--primary) 40%, transparent);animation-delay:.4s;inset:10px}@keyframes orbitPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.12)}}.create__generating-icon{color:var(--accent);z-index:1;font-size:24px;animation:3s linear infinite sparkleRotate}@keyframes sparkleRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.create__generating-text{font-family:var(--font-display);font-style:var(--display-style);color:var(--text);margin:0;font-size:22px}.create__generating-sub{color:color-mix(in srgb, var(--text) 66%, transparent);margin:0;font-size:13px}.create__result-card{width:100%;max-width:520px;padding:28px 24px 48px;animation:.35s fadeSlideIn}.create__result-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.create__tag{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);color:color-mix(in srgb, var(--text) 66%, transparent);text-transform:capitalize;border-radius:20px;padding:3px 9px;font-size:10px}.create__tag--gold{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--accent)}.create__result-title{font-family:var(--font-display);font-style:var(--display-style);color:var(--heading-tint);margin:0 0 14px;font-size:30px;font-weight:400;line-height:1.2}.create__result-desc{color:color-mix(in srgb, var(--text) 70%, transparent);margin-bottom:18px;font-size:15px;line-height:1.7}.create__result-meta{color:color-mix(in srgb, var(--text) 65%, transparent);margin-bottom:8px;font-size:13px}.create__result-meta--gold{color:color-mix(in srgb, var(--accent) 75%, transparent)}.create__result-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.create__action-accept{background:var(--primary);width:100%;color:var(--on-primary);cursor:pointer;border:none;border-radius:12px;padding:14px;font-family:Nunito,system-ui,sans-serif;font-size:15px;font-weight:500;transition:opacity .15s}.create__action-accept:hover:not(:disabled){opacity:.87}.create__action-accept--done{background:var(--success-deep);cursor:default}.create__action-secondary{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 14%, transparent);width:100%;color:color-mix(in srgb, var(--text) 65%, transparent);cursor:pointer;border-radius:10px;padding:12px;font-family:Nunito,system-ui,sans-serif;font-size:13px;transition:background .15s}.create__action-secondary:hover{background:color-mix(in srgb, var(--overlay) 12%, transparent)}@media (width>=768px){.create__question{font-size:18px}.create__result-title{font-size:36px}}.create__result-link{color:var(--accent);opacity:.85;margin-top:4px;font-size:13px;text-decoration:none;transition:opacity .15s;display:inline-block}.create__result-link:hover{opacity:1;text-decoration:underline}.create__sub-chips{border-left:1.5px solid color-mix(in srgb, var(--primary) 30%, transparent);flex-wrap:wrap;gap:9px;width:100%;margin-top:2px;padding-left:12px;display:flex}.create__date-picker{flex-direction:column;gap:4px;width:100%;min-width:0;max-width:100%;margin-top:4px;display:flex}.create__date-picker .create__next-btn{align-self:center}.create__date-input{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 35%, transparent);width:100%;min-width:0;color:var(--text);appearance:none;border-radius:10px;outline:none;min-height:48px;padding:12px 14px;font-family:Nunito,system-ui,sans-serif;font-size:16px;transition:border-color .15s}.create__date-input::-webkit-date-and-time-value{text-align:left}.create__date-input:focus{border-color:color-mix(in srgb, var(--accent) 65%, transparent)}.settings{background:var(--bg);min-height:100dvh;color:var(--text);flex-direction:column;font-family:Nunito,system-ui,sans-serif;display:flex}.settings__topbar{justify-content:space-between;align-items:center;width:100%;max-width:520px;margin:0 auto;padding:20px 20px 0;display:flex}.settings__icon-btn{background:color-mix(in srgb, var(--overlay) 8%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);width:36px;height:36px;color:color-mix(in srgb, var(--text) 88%, transparent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.settings__icon-btn:hover{background:color-mix(in srgb, var(--overlay) 15%, transparent)}.settings__title{font-family:var(--font-display);font-style:var(--display-style);color:var(--text);margin:0;font-size:32px;font-weight:400}.settings__body{flex-direction:column;gap:0;width:100%;max-width:520px;margin:0 auto;padding:28px 20px 48px;display:flex}.settings__section{padding:4px 0 24px}.settings__section-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.settings__label{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin:0 0 4px;font-size:11px;font-weight:500}.settings__badge{background:color-mix(in srgb, var(--primary) 25%, transparent);border:.5px solid color-mix(in srgb, var(--primary) 45%, transparent);color:var(--danger-soft);border-radius:20px;padding:3px 10px;font-size:11px}.settings__hint{color:color-mix(in srgb, var(--text) 65%, transparent);margin:0 0 14px;font-size:13px;line-height:1.55}.settings__hint strong{color:color-mix(in srgb, var(--text) 70%, transparent);font-weight:500}.settings__date-input{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 35%, transparent);width:100%;color:var(--text);cursor:pointer;appearance:none;border-radius:10px;outline:none;min-height:48px;padding:12px 14px;font-family:Nunito,system-ui,sans-serif;font-size:16px;transition:border-color .15s}.settings__date-input::-webkit-date-and-time-value{text-align:left}.settings__date-input:focus{border-color:color-mix(in srgb, var(--accent) 70%, transparent)}.settings__date-preview{color:color-mix(in srgb, var(--text) 64%, transparent);margin:8px 0 0;font-size:13px}.settings__name-row{gap:10px;display:flex}.settings__text-input{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 35%, transparent);color:var(--text);border-radius:10px;outline:none;flex:1;padding:12px 14px;font-family:Nunito,system-ui,sans-serif;font-size:16px;transition:border-color .15s}.settings__text-input:focus{border-color:color-mix(in srgb, var(--accent) 70%, transparent)}.settings__textarea{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 35%, transparent);width:100%;color:var(--text);resize:vertical;box-sizing:border-box;border-radius:10px;outline:none;padding:12px 14px;font-family:Nunito,system-ui,sans-serif;font-size:16px;transition:border-color .15s}.settings__textarea:focus{border-color:color-mix(in srgb, var(--accent) 70%, transparent)}.settings__textarea::placeholder,.settings__text-input::placeholder{color:color-mix(in srgb, var(--text) 30%, transparent)}.settings__season-chips{flex-wrap:wrap;gap:8px;display:flex}.settings__chip{cursor:pointer;background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 12%, transparent);color:color-mix(in srgb, var(--text) 65%, transparent);border-radius:20px;padding:7px 14px;font-family:Nunito,system-ui,sans-serif;font-size:13px;transition:all .15s}.settings__chip:hover{border-color:color-mix(in srgb, var(--overlay) 25%, transparent);color:color-mix(in srgb, var(--text) 70%, transparent)}.settings__chip--active{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 50%, transparent);color:var(--accent)}.settings__divider{background:color-mix(in srgb, var(--text) 8%, transparent);height:.5px;margin-bottom:24px}.settings__save-btn{background:var(--primary);width:100%;color:var(--on-primary);cursor:pointer;border:none;border-radius:12px;margin-top:8px;padding:14px;font-family:Nunito,system-ui,sans-serif;font-size:15px;font-weight:500;transition:background .2s,opacity .15s}.settings__save-btn:hover{opacity:.88}.settings__save-btn--saved{background:var(--success-deep);cursor:default}.settings__invite-row{align-items:center;gap:12px;display:flex}.settings__invite-code{background:color-mix(in srgb, var(--accent) 10%, transparent);border:.5px dashed color-mix(in srgb, var(--accent) 50%, transparent);color:var(--accent);letter-spacing:5px;text-align:center;-webkit-user-select:all;user-select:all;border-radius:10px;flex:1;padding:12px 14px;font-size:18px}.settings__error{color:var(--danger-soft);text-align:center;margin:10px 0 0;font-size:13px}.settings__signout-btn{border:.5px solid color-mix(in srgb, var(--text) 20%, transparent);width:100%;color:color-mix(in srgb, var(--text) 66%, transparent);cursor:pointer;background:0 0;border-radius:12px;margin-top:14px;padding:12px;font-family:Nunito,system-ui,sans-serif;font-size:14px;transition:border-color .15s,color .15s}.settings__signout-btn:hover{border-color:color-mix(in srgb, var(--text) 66%, transparent);color:color-mix(in srgb, var(--text) 80%, transparent)}@media (width>=768px){.settings__body{padding-top:36px}}.calendar{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;align-items:center;padding-bottom:56px;font-family:Nunito,system-ui,sans-serif;display:flex}.calendar__topbar{justify-content:space-between;align-items:center;width:100%;max-width:520px;padding:20px 20px 0;display:flex}.calendar__icon-btn{background:color-mix(in srgb, var(--overlay) 8%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);width:36px;height:36px;color:color-mix(in srgb, var(--text) 88%, transparent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.calendar__icon-btn:hover{background:color-mix(in srgb, var(--overlay) 15%, transparent)}.calendar__title{font-family:var(--font-display);font-style:var(--display-style);color:var(--text);margin:0;font-size:32px;font-weight:400}.calendar__nav-btn{background:color-mix(in srgb, var(--primary) 15%, transparent);border:.5px solid color-mix(in srgb, var(--primary) 35%, transparent);width:36px;height:36px;color:var(--danger-soft);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:background .15s;display:flex}.calendar__nav-btn:hover{background:color-mix(in srgb, var(--primary) 28%, transparent)}.calendar__month-picker-wrap{align-items:center;gap:10px;width:100%;max-width:520px;padding:16px 20px 0;display:flex}.calendar__month-input{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 35%, transparent);width:100%;color:var(--text);box-sizing:border-box;border-radius:12px;outline:none;padding:10px 14px;font-family:Nunito,system-ui,sans-serif;font-size:14px}.calendar__month-input:focus{border-color:color-mix(in srgb, var(--accent) 65%, transparent)}.calendar__grid-wrap{width:100%;max-width:520px;padding:16px 16px 0}.calendar__weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:6px;display:grid}.calendar__weekday{text-align:center;color:color-mix(in srgb, var(--accent) 60%, transparent);text-transform:uppercase;letter-spacing:.5px;padding:4px 0;font-size:10px;font-weight:500}.calendar__days{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar__day{aspect-ratio:1;cursor:default;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.calendar__day--empty{background:0 0}.calendar__day-num{color:color-mix(in srgb, var(--text) 64%, transparent);font-size:12px;line-height:1}.calendar__day--today .calendar__day-num{color:var(--accent);font-weight:500}.calendar__day--has-date{background:color-mix(in srgb, var(--primary) 18%, transparent);border:.5px solid color-mix(in srgb, var(--primary) 40%, transparent)}.calendar__day--has-date .calendar__day-num{color:var(--danger-soft)}.calendar__day-dot{background:var(--primary);border-radius:50%;width:4px;height:4px;margin-top:3px}.calendar__section{flex-direction:column;gap:10px;width:100%;max-width:520px;padding:24px 20px 0;display:flex}.calendar__section-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin:0 0 2px;font-size:10px;font-weight:500}.calendar__item{background:color-mix(in srgb, var(--overlay) 5%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.calendar__item--undated{border-color:color-mix(in srgb, var(--overlay) 10%, transparent)}.calendar__item-date{color:var(--accent);font-size:11px;font-weight:500}.calendar__item-title{font-family:var(--font-display);font-style:var(--display-style);color:var(--heading-tint);font-size:18px;line-height:1.2}.calendar__item-accepted{color:color-mix(in srgb, var(--text) 30%, transparent);font-size:11px}.calendar__item-actions{align-items:center;gap:12px;display:flex}.calendar__item-remove,.calendar__item-delete{cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;text-decoration:underline}.calendar__item-remove{color:color-mix(in srgb, var(--text) 30%, transparent)}.calendar__item-remove:hover{color:color-mix(in srgb, var(--text) 66%, transparent)}.calendar__item-delete,.calendar__item-delete:hover{color:color-mix(in srgb, var(--danger) 75%, transparent)}.calendar__set-date-btn{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);border:.5px solid color-mix(in srgb, var(--primary) 35%, transparent);cursor:pointer;border-radius:8px;align-self:flex-start;padding:6px 12px;font-family:inherit;font-size:12px;transition:background .15s}.calendar__set-date-btn:hover{background:color-mix(in srgb, var(--primary) 22%, transparent)}.calendar__date-picker{flex-direction:column;gap:8px;display:flex}.calendar__date-input{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 35%, transparent);color:var(--text);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px}.calendar__date-input:focus{border-color:color-mix(in srgb, var(--accent) 65%, transparent)}.calendar__date-actions{gap:8px;display:flex}.calendar__save-btn{background:var(--primary);color:var(--on-primary);cursor:pointer;border:none;border-radius:8px;flex:1;padding:9px;font-family:inherit;font-size:13px;font-weight:500;transition:opacity .15s}.calendar__save-btn:hover:not(:disabled){opacity:.85}.calendar__save-btn:disabled{opacity:.4;cursor:default}.calendar__cancel-btn{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 12%, transparent);color:color-mix(in srgb, var(--text) 60%, transparent);cursor:pointer;border-radius:8px;flex:1;padding:9px;font-family:inherit;font-size:13px;transition:background .15s}.calendar__cancel-btn:hover{background:color-mix(in srgb, var(--overlay) 12%, transparent)}.calendar__empty{text-align:center;color:color-mix(in srgb, var(--text) 30%, transparent);flex-direction:column;gap:8px;margin-top:64px;font-size:14px;line-height:1.6;display:flex}@media (width>=768px){.calendar__grid-wrap{padding-top:22px}.calendar__day{border-radius:10px}.calendar__day-num{font-size:14px}}.fragen{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;align-items:center;font-family:Nunito,system-ui,sans-serif;display:flex}.fragen--loading{color:color-mix(in srgb, var(--text) 65%, transparent);justify-content:center;gap:16px;font-size:14px}.fragen__spinner{border:2px solid color-mix(in srgb, var(--accent) 20%, transparent);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite fragenSpin}@keyframes fragenSpin{to{transform:rotate(360deg)}}.fragen__topbar{justify-content:space-between;align-items:center;width:100%;max-width:520px;padding:20px 20px 0;display:flex}.fragen__back-btn{background:color-mix(in srgb, var(--overlay) 8%, transparent);border:.5px solid color-mix(in srgb, var(--overlay) 15%, transparent);width:36px;height:36px;color:color-mix(in srgb, var(--text) 88%, transparent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.fragen__back-btn:hover{background:color-mix(in srgb, var(--overlay) 15%, transparent)}.fragen__title{font-family:var(--font-display);font-style:var(--display-style);color:var(--text);margin:0;font-size:32px;font-weight:400}.fragen__body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:32px;width:100%;max-width:480px;padding:32px 24px 56px;display:flex}.fragen__card{background:color-mix(in srgb, var(--primary) 10%, transparent);border:1px solid color-mix(in srgb, var(--primary) 28%, transparent);text-align:center;opacity:1;border-radius:20px;flex-direction:column;align-items:center;gap:20px;width:100%;padding:44px 36px;transition:opacity .25s;display:flex}.fragen__card--fade{opacity:0}.fragen__badge{letter-spacing:.2px;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:500;display:inline-block}.fragen__badge--funny{background:color-mix(in srgb, var(--accent) 15%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent)}.fragen__badge--deep{background:color-mix(in srgb, var(--info) 15%, transparent);border:.5px solid color-mix(in srgb, var(--info) 40%, transparent);color:var(--info)}.fragen__badge--would_you_rather{background:color-mix(in srgb, var(--primary) 18%, transparent);border:.5px solid color-mix(in srgb, var(--primary) 45%, transparent);color:var(--danger-soft)}.fragen__badge--multiple_choice{background:color-mix(in srgb, var(--success-deep) 15%, transparent);border:.5px solid color-mix(in srgb, var(--success-deep) 40%, transparent);color:var(--success)}.fragen__question{color:color-mix(in srgb, var(--text) 88%, transparent);margin:0;font-family:Nunito,system-ui,sans-serif;font-size:15px;font-style:normal;line-height:1.65}.fragen__draw-btn{background:var(--primary);color:var(--on-primary);cursor:pointer;border:none;border-radius:50px;padding:14px 48px;font-family:Nunito,system-ui,sans-serif;font-size:15px;font-weight:500;transition:opacity .15s,transform .1s}.fragen__draw-btn:hover:not(:disabled){opacity:.87}.fragen__draw-btn:active:not(:disabled){transform:scale(.97)}.fragen__draw-btn:disabled{opacity:.4;cursor:default}.fragen__error{color:var(--danger-soft);text-align:center;padding:40px 24px;font-size:14px}.auth{background:var(--bg);min-height:100dvh;color:var(--text);flex-direction:column;justify-content:center;align-items:center;padding:24px;font-family:Nunito,system-ui,sans-serif;display:flex}.auth__title{font-family:var(--font-display);font-style:var(--display-style);color:var(--text);text-align:center;margin:0 0 6px;font-size:34px;font-weight:400}.auth__subtitle{color:color-mix(in srgb, var(--text) 60%, transparent);text-align:center;margin:0 0 28px;font-size:14px}.auth__card{flex-direction:column;gap:12px;width:100%;max-width:380px;display:flex}.auth__label{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin:4px 0 -6px;font-size:11px;font-weight:500}.auth__input{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 35%, transparent);width:100%;color:var(--text);box-sizing:border-box;border-radius:10px;outline:none;padding:12px 14px;font-family:Nunito,system-ui,sans-serif;font-size:16px;transition:border-color .15s}.auth__input[type=date]{appearance:none;min-width:0;max-width:100%;min-height:48px}.auth__input[type=date]::-webkit-date-and-time-value{text-align:left}.auth__input:focus{border-color:color-mix(in srgb, var(--accent) 70%, transparent)}.auth__input::placeholder{color:color-mix(in srgb, var(--text) 30%, transparent)}.auth__input--code{text-align:center;letter-spacing:6px;text-transform:uppercase;font-size:22px}.auth__btn{background:var(--primary);width:100%;color:var(--on-primary);cursor:pointer;border:none;border-radius:12px;margin-top:6px;padding:14px;font-family:Nunito,system-ui,sans-serif;font-size:15px;font-weight:500;transition:background .2s,opacity .15s}.auth__btn:hover{opacity:.88}.auth__btn:disabled{opacity:.45;cursor:default}.auth__switch{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:2px;padding:8px;font-family:Nunito,system-ui,sans-serif;font-size:13px}.auth__switch:hover{text-decoration:underline}.auth__choice{background:color-mix(in srgb, var(--overlay) 7%, transparent);border:.5px solid color-mix(in srgb, var(--accent) 35%, transparent);width:100%;color:var(--text);cursor:pointer;text-align:center;border-radius:12px;padding:16px;font-family:Nunito,system-ui,sans-serif;font-size:15px;transition:border-color .15s,background .15s}.auth__choice:hover{background:color-mix(in srgb, var(--overlay) 12%, transparent)}.auth__choice--active{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 60%, transparent);color:var(--accent)}.auth__text{color:color-mix(in srgb, var(--text) 75%, transparent);text-align:center;margin:0;font-size:14px;line-height:1.6}.auth__text strong{color:var(--text)}.auth__code{letter-spacing:8px;text-align:center;color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border:.5px dashed color-mix(in srgb, var(--accent) 50%, transparent);-webkit-user-select:all;user-select:all;border-radius:12px;margin:4px 0;padding:16px;font-size:30px}.auth__error{color:var(--danger-soft);text-align:center;margin:0;font-size:13px}:root,:root[data-theme=classic]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Cormorant Garamond", Georgia, serif;--display-style:italic;--bg:#2a0e1c;--bg-raised:#3d1228;--text:#fff5f8;--overlay:#fff;--primary:#b03060;--on-primary:#ffe0ec;--heading-tint:#ffd0dc;--accent:#d4a050;--danger:#ff6b8a;--danger-soft:#ffb0c0;--success:#7ed98c;--success-deep:#2c6b3a;--info:#a0c0e8;--game-surface:#1a0810;--game-surface-alt:#1e0a16;--game-seg-a:#2e0c1e;--game-seg-b:#4a1836;--game-piece:#52183a;--game-label:#ffd2e1}:root[data-theme=coastal]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Poppins", "Nunito", system-ui, sans-serif;--display-style:normal;--bg:#93c6ba;--bg-raised:#fff;--text:#05201a;--overlay:#063b33;--primary:#0c8b7f;--on-primary:#fff;--heading-tint:#04463e;--accent:#59691b;--danger:#e14d64;--danger-soft:#a82238;--success:#0e8c46;--success-deep:#0a6e37;--info:#1f7fc4;--game-surface:#fff;--game-surface-alt:#f3ebd9;--game-seg-a:#9fd8cb;--game-seg-b:#ffd9be;--game-piece:#0fa396;--game-label:#0b2b26}:root[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Poppins", "Nunito", system-ui, sans-serif;--display-style:normal;--bg:#050d2a;--bg-raised:#0c1a4e;--text:#f0f4ff;--overlay:#7da0ff;--primary:#2443b8;--on-primary:#fff;--heading-tint:#c7d6ff;--accent:#f2c14e;--danger:#ff7e97;--danger-soft:#ffa9ba;--success:#57d07e;--success-deep:#1f7a4c;--info:#8fb0ff;--game-surface:#04091f;--game-surface-alt:#0a1638;--game-seg-a:#12245c;--game-seg-b:#1b3480;--game-piece:#2e55c4;--game-label:#d3dfff}:root{--color-bg:var(--bg);--color-bg-card:color-mix(in srgb, var(--overlay) 7%, transparent);--color-rose:var(--primary);--color-rose-text:var(--heading-tint);--color-gold:var(--accent);--color-gold-dim:color-mix(in srgb, var(--accent) 25%, transparent);--color-gold-border:color-mix(in srgb, var(--accent) 35%, transparent);--color-text:var(--text);--color-text-muted:color-mix(in srgb, var(--text) 60%, var(--bg));--color-text-dim:color-mix(in srgb, var(--text) 60%, transparent);--color-blue:var(--info);--color-error:var(--danger-soft);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--font-display:"Cormorant Garamond", Georgia, serif;--font-ui:"Nunito", system-ui, sans-serif;--shadow-sm:0 2px 8px #00000040;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 12px 32px #00000073}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);min-height:100vh}button{cursor:pointer;font-family:var(--font-ui);border:none}
