@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&display=swap";:root{--coral:#ef4e3a;--coral-deep:#d63a28;--coral-soft:#ffd9d1;--navy:#1b2237;--navy-soft:#2c3550;--peach:#f3b48d;--cream:#fbf3ec;--cream-deep:#f5e6da;--ink:#2a2a33;--muted:#6b6a75;--white:#fff;--radius:1.5rem;--shadow:0 20px 60px -20px #1b223740;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(72rem,100% - 2.5rem);margin:0 auto}.btn{cursor:pointer;border:2px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.9rem 1.6rem;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--coral);color:var(--white);box-shadow:0 12px 30px -10px #ef4e3a99}.btn-primary:hover{background:var(--coral-deep)}.btn-ghost{color:var(--navy);background:0 0;border-color:#1b223726}.btn-ghost:hover{background:var(--white)}.btn-light{background:var(--white);color:var(--navy)}.header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbf3eccc;border-bottom:1px solid #1b22370f;position:sticky;top:0}.header .container{justify-content:space-between;align-items:center;padding:.9rem 0;display:flex}.brand{font-family:var(--font-display);color:var(--navy);align-items:center;gap:.7rem;font-size:1.25rem;font-weight:600;display:flex}.brand img{border-radius:50%;width:2.4rem;height:2.4rem}.nav{color:var(--muted);align-items:center;gap:1.75rem;font-size:.95rem;font-weight:500;display:flex}.nav a:hover{color:var(--navy)}.nav .btn{padding:.6rem 1.2rem}@media (width<=720px){.nav a:not(.btn){display:none}}.hero{background:linear-gradient(to bottom, transparent 45%, var(--cream) 100%), radial-gradient(ellipse 36rem 30rem at 100% 10%, #ffd9d1a6, transparent 100%), radial-gradient(ellipse 28rem 24rem at 0% 85%, #f3b48d4d, transparent 100%);padding:5rem 0 3rem;position:relative;overflow:hidden}.hero .container{grid-template-columns:1.1fr .9fr;align-items:center;gap:4rem;display:grid;position:relative}@media (width<=900px){.hero .container{text-align:center;grid-template-columns:1fr}.hero-visual{order:-1}}.eyebrow{background:var(--white);color:var(--coral-deep);letter-spacing:.02em;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .9rem;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:0 6px 20px -10px #1b223733}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--navy);margin:1.25rem 0;font-size:clamp(2.5rem,5.5vw,4.25rem);font-weight:600;line-height:1.05}.hero h1 em{color:var(--coral);font-style:italic}.lead{color:var(--muted);max-width:34rem;margin:0 0 2rem;font-size:1.15rem}@media (width<=900px){.lead{margin-inline:auto}}.hero-actions{gap:.9rem;justify-content:inherit;flex-wrap:wrap;display:flex}.hero-actions .btn-ghost{background:var(--white);border-color:#0000}.hero-actions .btn-ghost:hover{background:var(--white);border-color:#0000;transform:none}@media (width<=900px){.hero-actions{justify-content:center}}.hero-note{color:var(--muted);margin-top:1.25rem;font-size:.85rem}.hero-visual{place-items:center;display:grid;position:relative}.hero-visual .logo-ring{aspect-ratio:1;background:linear-gradient(145deg, var(--white), var(--cream-deep));width:min(22rem,80vw);box-shadow:var(--shadow);border-radius:50%;padding:.75rem;position:relative}.hero-visual .logo-ring img{object-fit:cover;border-radius:50%;width:100%;height:100%}.float-card{background:var(--white);color:var(--navy);border-radius:1rem;align-items:center;gap:.7rem;padding:.75rem 1rem;font-size:.85rem;font-weight:500;animation:6s ease-in-out infinite float;display:flex;position:absolute;box-shadow:0 16px 40px -18px #1b223759}.float-card small{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.float-card .icon{background:var(--coral-soft);width:2.2rem;height:2.2rem;color:var(--coral-deep);border-radius:.7rem;place-items:center;display:grid}.float-card.one{top:6%;left:-6%}.float-card.two{animation-delay:-3s;bottom:12%;right:-8%}@media (width<=900px){.hero{padding:2.5rem 0 2rem}.hero-visual .logo-ring{width:min(15rem,62vw)}.float-card{padding:.55rem .8rem;font-size:.78rem}.float-card .icon{width:1.9rem;height:1.9rem}.hero-visual{padding:1.5rem 0}.float-card.one{top:-10%;left:-22%}.float-card.two{bottom:-12%;right:-22%}}@media (width<=600px){.btn{justify-content:center;width:100%}.nav .btn{width:auto}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.section{padding:5rem 0}.section-head{text-align:center;max-width:38rem;margin:0 auto 3rem}.section-head h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--navy);margin:.5rem 0 .9rem;font-size:clamp(1.9rem,3.5vw,2.75rem);font-weight:600;line-height:1.15}.section-head p{color:var(--muted);margin:0}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--coral);font-size:.8rem;font-weight:600}#features{padding-top:clamp(2rem,4vw,3rem);scroll-margin-top:6rem}#features .section-head h2{text-wrap:balance}.features{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}@media (width<=900px){.features{grid-template-columns:1fr 1fr}}@media (width<=600px){.features{grid-template-columns:1fr}}.feature{background:var(--white);border-radius:var(--radius);border:1px solid #1b22370d;padding:2rem;transition:transform .25s,box-shadow .25s}.feature:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.feature .icon{background:var(--coral-soft);width:3rem;height:3rem;color:var(--coral-deep);border-radius:1rem;place-items:center;margin-bottom:1.25rem;display:grid}.feature h3{font-family:var(--font-display);color:var(--navy);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.feature p{color:var(--muted);margin:0;font-size:.95rem}.steps-wrap{background:var(--navy);color:var(--white);border-radius:2rem;padding:4rem 3rem;position:relative;overflow:hidden}.steps-wrap:before{content:"";background:var(--coral);opacity:.18;filter:blur(90px);border-radius:50%;width:30rem;height:30rem;position:absolute;top:-10rem;right:-10rem}.steps-wrap .section-head h2{color:var(--white)}.steps-wrap .section-head p{color:#ffffffb3}.steps{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid;position:relative}@media (width<=800px){.steps{grid-template-columns:1fr}.steps-wrap{padding:3rem 1.5rem}}.step .num{font-family:var(--font-display);color:var(--coral);font-size:2.75rem;font-weight:700;line-height:1}.step h3{margin:.75rem 0 .4rem;font-size:1.15rem}.step p{color:#ffffffb3;margin:0;font-size:.95rem}.testimonials{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}@media (width<=900px){.testimonials{grid-template-columns:1fr}}.testimonial{background:var(--white);border-radius:var(--radius);border:1px solid #1b22370d;padding:2rem}.testimonial .stars{color:var(--coral);gap:.15rem;margin-bottom:1rem;display:flex}.testimonial blockquote{font-family:var(--font-display);color:var(--navy);margin:0 0 1.25rem;font-size:1.1rem;line-height:1.5}.testimonial .author{color:var(--navy);align-items:center;gap:.75rem;font-size:.9rem;font-weight:600;display:flex}.testimonial .author small{color:var(--muted);font-weight:400;display:block}.avatar{background:linear-gradient(135deg, var(--peach), var(--coral));border-radius:50%;width:2.5rem;height:2.5rem}.cta{text-align:center;background:linear-gradient(135deg, var(--coral), var(--coral-deep));color:var(--white);border-radius:2rem;padding:4.5rem 2rem;position:relative;overflow:hidden}.cta:after{content:"♥";opacity:.1;font-size:22rem;line-height:1;position:absolute;bottom:-6rem;right:-2rem}.cta h2{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 1rem;font-size:clamp(2rem,4vw,3rem);font-weight:600}.cta p{color:#ffffffd9;max-width:32rem;margin:0 auto 2rem}.footer{color:var(--muted);padding:3rem 0 2rem;font-size:.9rem}.footer .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer nav{gap:1.5rem;display:flex}.footer nav a:hover{color:var(--navy)}.auth{grid-template-columns:.9fr 1.1fr;min-height:100dvh;display:grid}.auth-aside{background:var(--navy);color:var(--white);flex-direction:column;justify-content:center;align-items:center;padding:2rem 3rem;display:flex;position:relative;overflow:hidden}.auth-aside:before{content:"";background:var(--coral);opacity:.25;filter:blur(100px);border-radius:50%;width:34rem;height:34rem;position:absolute;inset:auto -10rem -10rem auto}.auth-back{z-index:1;color:var(--navy);background:var(--white);border:none;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .9rem .45rem .7rem;font-size:.9rem;font-weight:600;display:inline-flex;position:relative}.auth-aside .auth-back{position:absolute;top:2rem;left:3rem}.auth-back:hover{background:var(--white)}.auth-aside-body{text-align:center;width:100%;max-width:26rem;position:relative}.auth-aside-logo{margin-inline:auto;background:#ffffff14;border-radius:50%;width:min(16rem,100%);margin-bottom:1.15rem;padding:.5rem}.auth-aside-logo img{border-radius:50%}.auth-aside-brand{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 1.75rem;font-size:1.85rem;font-weight:600}.auth-aside blockquote{font-family:var(--font-display);margin:0 0 1rem;font-size:1.5rem;line-height:1.35}.auth-aside-author{color:var(--coral);justify-content:center;align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.auth-main{place-items:center;min-width:0;padding:2rem 1.25rem;display:grid}.auth-card{width:min(26rem,100%)}.auth-back-mobile{display:none}@media (width<=900px){.auth{grid-template-columns:1fr}.auth-aside{display:none}.auth-main{place-items:start center;padding:1.25rem 1.25rem 2rem}.auth-back-mobile{margin:0 0 1.5rem;display:inline-flex}.auth-card h1{text-align:center;font-size:1.5rem}.auth-subtitle{text-align:center;margin-bottom:1.5rem;font-size:.9rem}}.auth-card h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--navy);margin:0 0 .5rem;font-size:2rem;font-weight:600}.auth-subtitle{color:var(--muted);margin:0 0 2rem}.auth-footer{text-align:center;color:var(--muted);margin:2rem 0 0;font-size:.9rem}.auth-footer a,.auth-footer .btn,.field-link,.checkbox a{color:var(--coral-deep);font-weight:600}.form{flex-direction:column;gap:1.1rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.form-grid .field{min-width:0}.field>span{color:var(--navy);margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.field-row{justify-content:space-between;display:flex!important}.field-link{font-size:.8rem;font-weight:500}.input{background:var(--white);height:3rem;color:var(--muted);border:1.5px solid #1b22371a;border-radius:.9rem;align-items:center;gap:.6rem;padding:0 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.input:focus-within{border-color:var(--coral);box-shadow:0 0 0 4px #ef4e3a26}.input input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.input input::placeholder{color:#a9a8b3}.input-locked{background:var(--cream);color:var(--muted)}.input-locked:focus-within{box-shadow:none;border-color:#1b22371a}.input-locked input{color:var(--muted);cursor:default}.input-locked>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);overflow:hidden}.field-hint{color:var(--muted);margin:.45rem 0 0;font-size:.8rem;font-weight:400}.checkbox{color:var(--muted);align-items:flex-start;gap:.6rem;font-size:.85rem;display:flex}.checkbox input{accent-color:var(--coral);width:1rem;height:1rem;margin-top:.2rem}.btn-block{justify-content:center;width:100%}.divider{color:var(--muted);align-items:center;gap:1rem;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";background:#1b22371a;flex:1;height:1px}.app{background:var(--cream);grid-template-columns:16rem 1fr;min-height:100dvh;display:grid}.app-sidebar{background:var(--white);border-right:1px solid #1b22370f;flex-direction:column;gap:2rem;height:100dvh;padding:1.5rem 1.25rem;display:flex;position:sticky;top:0}.app-nav{flex-direction:column;gap:.25rem;display:flex}.app-nav-item{color:var(--muted);border-radius:.8rem;align-items:center;gap:.8rem;padding:.7rem .9rem;font-size:.95rem;font-weight:500;transition:background .15s,color .15s;display:flex}.app-nav-item:hover{background:var(--cream);color:var(--navy)}.app-nav-item[data-active]{background:var(--coral-soft);color:var(--coral-deep);font-weight:600}.app-sidebar-bottom{flex-direction:column;gap:1rem;margin-top:auto;display:flex}.couple-card{background:var(--cream);color:var(--navy);border-radius:1rem;align-items:center;gap:.8rem;padding:.9rem;font-size:.8rem;display:flex}.couple-card strong{white-space:nowrap;display:block}.couple-card small{color:var(--muted);font-size:.75rem;display:block}.couple-avatars{display:flex}.couple-avatars .avatar+.avatar{box-shadow:0 0 0 2px var(--cream);margin-left:-.6rem}.avatar{width:2.5rem;height:2.5rem;color:var(--white);border-radius:50%;flex-shrink:0;place-items:center;font-size:.9rem;font-weight:700;display:inline-grid}.avatar-a{background:linear-gradient(135deg, var(--coral), var(--coral-deep))}.avatar-b{background:linear-gradient(135deg, var(--navy-soft), var(--navy))}.avatar-sm{width:1.75rem;height:1.75rem;font-size:.7rem}.app-body{flex-direction:column;min-width:0;display:flex}.app-topbar{justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:2.25rem 2.5rem .75rem;display:flex}.app-topbar-copy{flex-direction:column;gap:.75rem;min-width:0;display:flex}.app-greeting{color:var(--muted);margin:0;font-size:.95rem;line-height:1.4}.app-topbar h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--navy);margin:0;font-size:2rem;font-weight:600;line-height:1.25}.app-topbar-actions{--topbar-control:3rem;flex-shrink:0;align-items:center;gap:.75rem;padding-top:.15rem;display:flex}.app-topbar-actions .btn{height:var(--topbar-control);border-width:1px;padding:0 1.35rem;font-size:.9rem;line-height:1}.app-topbar-actions .btn-ghost{background:var(--white);border-color:#1b223714}.app-topbar-actions .btn-ghost:hover{background:var(--white);border-color:#1b223714;transform:none}.app-topbar-actions .avatar{width:var(--topbar-control);height:var(--topbar-control);font-size:1rem}.icon-btn{width:var(--topbar-control,3rem);height:var(--topbar-control,3rem);aspect-ratio:1;background:var(--white);color:var(--navy);cursor:pointer;appearance:none;border:1px solid #1b223714;border-radius:50%;flex:none;align-self:center;place-items:center;padding:0;display:grid;position:relative}.icon-btn-sm{width:2rem;height:2rem}.icon-btn .dot{background:var(--coral);width:.5rem;height:.5rem;box-shadow:0 0 0 2px var(--white);border-radius:50%;position:absolute;top:.6rem;right:.7rem}.app-content{padding:1.5rem 2.5rem 3rem}.demo-banner{background:var(--white);color:var(--navy);border:1px solid #1b223714;border-radius:1rem;margin:0 0 1.25rem;padding:.9rem 1.15rem;font-size:.9rem}.demo-banner a{color:var(--coral-deep);font-weight:600}.app-tabbar{display:none}@media (width<=900px){.app{grid-template-columns:1fr}.app-sidebar{display:none}.app-topbar{align-items:center;gap:.75rem;padding:1rem 1.25rem .5rem}.app-greeting,.app-topbar-copy .skel-line{display:none}.app-topbar-copy{flex:1;gap:0}.app-topbar-actions{padding-top:0}.app-topbar h1{text-overflow:ellipsis;white-space:nowrap;font-size:1.35rem;line-height:1.2;overflow:hidden}.demo-topbar-cta{display:none}.app-content{padding:1.25rem 1.25rem 6rem}.app-tabbar{padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-top:1px solid #1b223714;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.app-tab{color:var(--muted);flex-direction:column;align-items:center;gap:.2rem;padding:.4rem 0;font-size:.65rem;font-weight:500;display:flex}.app-tab[data-active]{color:var(--coral-deep)}}.dash{flex-direction:column;gap:1.5rem;display:flex}.card{background:var(--white);border:1px solid #1b22370d;border-radius:1.25rem;padding:1.5rem}.card-head{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.card-head h2{color:var(--navy);align-items:center;gap:.5rem;margin:0;font-size:1.05rem;font-weight:600;display:flex}.card-head h2 svg{color:var(--coral)}.card-head a{color:var(--coral-deep);font-size:.85rem;font-weight:600}.card-love{background:linear-gradient(135deg, var(--coral), var(--coral-deep));color:var(--white);border:0;justify-content:space-between;align-items:center;gap:1.5rem;display:flex;position:relative;overflow:hidden}.card-love:after{content:"♥";opacity:.12;font-size:12rem;line-height:1;position:absolute;bottom:-5rem;right:12rem}.card-love-text{position:relative}.card-love .btn{flex-shrink:0;position:relative}.chip{background:#ffffff2e;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .7rem;font-size:.75rem;font-weight:600;display:inline-flex}.card-love-quote{font-family:var(--font-display);margin:.75rem 0 .35rem;font-size:1.35rem;line-height:1.35}.card-love small{opacity:.8}@media (width<=600px){.card-love{flex-direction:column;align-items:flex-start}}.dash-stats{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=700px){.dash-stats{grid-template-columns:1fr}}.stat{background:var(--white);border:1px solid #1b22370d;border-radius:1.1rem;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.stat strong{font-size:1.35rem;font-family:var(--font-display);color:var(--navy);line-height:1.1;display:block}.stat small{color:var(--muted);font-size:.8rem}.stat-icon{border-radius:.9rem;flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;display:grid}.stat-coral{background:var(--coral-soft);color:var(--coral-deep)}.stat-navy{color:var(--navy);background:#e4e7f0}.stat-peach{color:#b8672f;background:#fde7d6}.dash-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (width<=900px){.dash-grid{grid-template-columns:1fr}}.event-list,.task-list,.wish-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.event{background:var(--cream);border-radius:.9rem;align-items:center;gap:1rem;padding:.75rem;display:flex}.event-date{background:var(--white);width:3rem;height:3rem;color:var(--navy);border-radius:.8rem;flex-shrink:0;place-items:center;line-height:1;display:grid}.event-date span{text-transform:uppercase;color:var(--coral);font-size:.65rem;font-weight:700}.event-date strong{font-family:var(--font-display);font-size:1.2rem}.event-body{flex:1;min-width:0}.event-body strong{color:var(--navy);font-size:.95rem;display:block}.event-body small{color:var(--muted)}.tag{background:var(--white);color:var(--muted);border-radius:999px;padding:.25rem .6rem;font-size:.7rem;font-weight:600}.task{align-items:center;gap:.8rem;padding:.6rem .5rem;display:flex}.task-check{width:1.4rem;height:1.4rem;color:var(--white);border:2px solid #1b223726;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.task[data-done] .task-check{background:var(--coral);border-color:var(--coral)}.task-title{color:var(--navy);flex:1;font-size:.95rem}.task[data-done] .task-title{color:var(--muted);text-decoration:line-through}.budget-row{color:var(--muted);justify-content:space-between;padding:.4rem 0;font-size:.95rem;display:flex}.budget-row strong{color:var(--navy)}.budget-bar{background:#e4e7f0;border-radius:999px;height:.6rem;margin:.75rem 0 1rem;overflow:hidden}.budget-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--coral), var(--coral-deep));height:100%;display:block}.budget-balance{background:var(--coral-soft);color:var(--coral-deep);text-align:center;border-radius:.8rem;margin:0;padding:.75rem 1rem;font-size:.9rem}.budget-panel{width:100%}.budget-intro,.budget-month-total{color:var(--text-muted,#626776);margin:0 0 24px}.budget-month-total{text-align:center;margin:12px 0 0;font-size:.9rem}.budget-toolbar,.budget-actions{align-items:center;gap:10px;display:flex}.budget-month{flex-wrap:wrap;align-items:end;gap:16px;margin:24px 0 16px;display:flex}.budget-panel label{flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}.budget-all-months{align-items:center;min-height:48px;flex-direction:row!important}.budget-panel input,.budget-panel select,.budget-panel textarea{color:#26354a;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #aab1bd;border-radius:10px;padding:11px}.budget-search{margin-bottom:12px}.budget-filter-disclosure{border-bottom:1px solid #e5e7eb;margin-bottom:20px}.budget-filter-disclosure>summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600}.budget-filter-count{color:#fff;background:#26354a;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;margin-left:6px;display:inline-flex}.budget-filters{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.budget-reset{grid-column:1/-1;justify-self:start}.budget-rows{margin:0;padding:0;list-style:none}.budget-item{border-bottom:1px solid #e5e7eb;align-items:center;gap:14px;padding:20px 0;display:flex}.budget-item-copy{overflow-wrap:anywhere;flex:1;min-width:0}.budget-item-copy p{white-space:pre-wrap;color:#626776;margin:8px 0 0;font-size:14px}.budget-meta{color:#626776;flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:12px;display:flex}.budget-item-amount{white-space:nowrap;color:var(--navy)}.budget-item[data-kind=settlement] .budget-item-amount{color:var(--coral-deep)}.budget-more{margin-top:20px;font-size:13px}.budget-panel button:disabled{opacity:.55;cursor:wait}.budget-panel :focus-visible{outline-offset:3px;outline:3px solid #d96050}@media (width<=550px){.budget-panel>.card-head{flex-direction:column;align-items:flex-start;gap:16px}.budget-item{flex-wrap:wrap}.budget-item .budget-actions{margin-left:auto}}.wish-list li{background:var(--cream);color:var(--navy);border-radius:.8rem;align-items:center;gap:.6rem;padding:.7rem .9rem;font-size:.95rem;display:flex}.wish-list svg{color:var(--coral)}.list-empty{color:var(--muted);margin:0;padding:.85rem .2rem .35rem;font-size:.95rem;line-height:1.45}.info-page{flex-direction:column;min-height:100vh;display:flex}.info-main{flex:1;padding-top:4rem;padding-bottom:3rem}.info-back{color:var(--muted);align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.info-heading{text-align:center;max-width:46rem;margin:0 auto}.info-heading h1{font-family:var(--font-display);color:var(--navy);letter-spacing:-.035em;margin:1.3rem 0;font-size:clamp(2.3rem,5vw,3.8rem);font-weight:600;line-height:1.12}.info-heading>p{color:var(--muted);max-width:36rem;margin:0 auto;font-size:1.05rem}.info-tabs{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:2rem auto 2.5rem;display:flex}.info-tabs a{color:var(--muted);border-radius:999px;padding:.65rem 1.2rem;font-size:.9rem}.info-tabs a:hover{background:var(--cream-deep)}.info-tabs a.is-active{background:var(--navy);color:var(--white)}.info-document{border:1px solid var(--cream-deep);background:var(--white);border-radius:1.75rem;max-width:52rem;margin:auto;padding:2.5rem 3rem;box-shadow:0 12px 40px -30px #1b223740}.info-draft{color:var(--muted);border-bottom:1px solid var(--cream-deep);margin:0 0 1rem;padding-bottom:1.5rem;font-size:.8rem}.info-chapter{gap:1.25rem;padding:1.25rem 0;display:flex}.info-number{font-family:var(--font-display);color:var(--coral-deep);flex-shrink:0;padding-top:.25rem;font-size:1rem}.info-chapter h2{font-family:var(--font-display);color:var(--navy);margin:0 0 .55rem;font-size:1.3rem;font-weight:600}.info-chapter p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.8}.info-note{background:var(--cream);color:var(--coral-deep);border-radius:1rem;align-items:center;gap:.8rem;margin-top:1.5rem;padding:1rem 1.25rem;display:flex}.info-note p{margin:0;font-size:.9rem}.info-note a{text-underline-offset:3px;text-decoration:underline}.contact-grid{grid-template-columns:.85fr 1.15fr;align-items:stretch;gap:2rem;max-width:64rem;margin:auto;display:grid}.contact-aside{background:var(--navy);color:var(--white);border-radius:1.75rem;padding:2.75rem}.contact-symbol{background:var(--navy-soft);width:4rem;height:4rem;color:var(--peach);border-radius:1.25rem;place-items:center;margin-bottom:1.5rem;display:inline-grid}.contact-aside h2{font-family:var(--font-display);margin:0 0 1rem;font-size:2rem;font-weight:500;line-height:1.2}.contact-aside>p{color:#c7cad4;margin-bottom:2.5rem;font-size:.95rem}.contact-topic{align-items:flex-start;gap:.9rem;margin-top:1.5rem;display:flex}.contact-topic>svg{color:var(--peach);flex-shrink:0;margin-top:.2rem}.contact-topic h3{margin:0 0 .25rem;font-size:.95rem}.contact-topic p{color:#c7cad4;margin:0;font-size:.85rem}.contact-signature{font-family:var(--font-display);color:var(--peach);margin-top:3rem;font-size:1.2rem;font-style:italic;display:block}.contact-form{background:var(--white);border:1px solid var(--cream-deep);border-radius:1.75rem;padding:2.5rem}.contact-form h2{font-family:var(--font-display);color:var(--navy);margin:0 0 .5rem;font-size:1.7rem}.contact-form-intro{color:var(--muted);margin:0 0 1.75rem;font-size:.85rem}.contact-form label{color:var(--navy);flex-direction:column;gap:.5rem;margin-bottom:1.25rem;font-size:.85rem;font-weight:500;display:flex}.contact-fields{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-fields>label{min-width:0}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;font:inherit;background:var(--cream);border:1px solid var(--cream-deep);color:var(--ink);border-radius:.75rem;padding:.85rem 1rem;font-weight:400}.contact-form textarea{resize:vertical}.contact-form .btn{justify-content:center;width:100%}.contact-form .btn:disabled{cursor:not-allowed;opacity:.65;box-shadow:none;transform:none}.info-page a:focus-visible,.contact-form :is(input,select,textarea):focus-visible{outline:3px solid var(--coral-deep);outline-offset:4px}@media (width<=800px){.contact-grid{grid-template-columns:1fr}.contact-aside{padding:2rem}.contact-signature{margin-top:2rem}}@media (width<=600px){.info-main{padding-top:2.5rem}.info-document,.contact-form{padding:1.5rem}.info-tabs{gap:.1rem}.info-tabs a{padding:.65rem .8rem;font-size:.85rem}.info-chapter{gap:.75rem}.contact-fields{grid-template-columns:1fr;gap:0}}.auth-status{text-align:center;place-items:center;min-height:40vh;padding:3rem;display:grid;position:relative}.auth-status-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-skel{position:relative}.skel{background:linear-gradient(90deg,#1b223712 0%,#1b223724 45%,#1b223712 90%) 0 0/200% 100%;border-radius:.6rem;animation:1.15s ease-in-out infinite skel-shimmer;display:block}.skel-line{height:.75rem}.skel-title{width:min(16rem,70%);height:1.55rem}.skel-chip{border-radius:999px;width:8.5rem;height:1.4rem;margin-bottom:.85rem}.skel-quote{width:min(28rem,90%);height:1.1rem;margin-bottom:.7rem}.skel-icon{border-radius:.85rem;flex-shrink:0;width:2.6rem;height:2.6rem}.skel-row{height:3.25rem;margin-top:.75rem}.skel-w-sm{width:6rem}.skel-w-md{width:8.5rem}.skel-w-lg{width:min(14rem,80%)}.skel-field{width:100%;height:3.1rem;margin-bottom:.9rem}.skel-btn{border-radius:999px;width:100%;height:3.1rem;margin-top:.4rem}.card-love .skel{background:linear-gradient(90deg,#ffffff38 0%,#fff6 45%,#ffffff38 90%) 0 0/200% 100%}.dash .card .skel-line{margin-bottom:.35rem}.auth-skel{margin-top:1.5rem}.auth-card>.skel-title{margin-top:.35rem}.auth-card>.skel-line{margin-top:.75rem}.stat .skel-line+.skel-line{margin-top:.45rem}@keyframes skel-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel,.card-love .skel{animation:none}.yams-die-body{transition:none!important;animation:none!important}.connect4-token.is-last-move,.ultimate-cell.is-last-move{animation:none}}.auth-error{color:#a1283f;font-size:.9rem}.auth-error:empty{display:none}.btn:disabled{opacity:.6;cursor:wait}.pairing{flex-direction:column;gap:1.5rem;display:flex}.pairing-lead{color:var(--muted);margin:0 0 1.25rem}.pairing-wait p{margin:0 0 .75rem}.pairing-url{word-break:break-all;color:var(--navy);background:#1b22370a;border-radius:.8rem;padding:.75rem 1rem;font-size:.85rem}.pairing-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.pairing-actions-stack{flex-direction:column}.pairing-incoming{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.pairing-incoming-item p{margin:0 0 .75rem}.pairing-incoming-block{border-top:1px solid #1b223714;margin-top:1.75rem;padding-top:1.5rem}.pairing-incoming-block h2{color:var(--navy);margin:0 0 1rem;font-size:1.05rem}:is(.auth-card:has(.pairing-wait),.auth-card:has(.pairing-incoming-block)){width:min(32rem,100%)}.account-menu{position:relative}.account-menu-trigger{cursor:pointer;border:0;font-family:inherit}.account-menu-panel{z-index:50;background:var(--white);border:1px solid #1b22371a;border-radius:1rem;width:min(18rem,100vw - 2rem);padding:.5rem;position:absolute;top:calc(100% + .75rem);right:0;box-shadow:0 12px 36px #1b22371f}.account-menu-identity{overflow-wrap:anywhere;border-bottom:1px solid #1b223714;gap:.25rem;margin-bottom:.25rem;padding:.75rem;display:grid}.account-menu-identity span{color:var(--muted);font-size:.85rem}.account-menu-item{width:100%;min-height:44px;color:var(--navy);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.6rem;align-items:center;gap:.65rem;padding:.75rem;text-decoration:none;display:flex}.account-menu-item:hover{background:#1b22370d}.account-menu-trigger:focus-visible,.account-menu-item:focus-visible{outline:2px solid var(--navy);outline-offset:3px}.account-menu-item:disabled{opacity:.6;cursor:wait}.account-menu-error{overflow-wrap:anywhere;padding:0 .75rem}.couple-profile{max-width:40rem}.couple-profile-members{flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0;display:flex}.couple-profile-member{overflow-wrap:anywhere;align-items:center;gap:.75rem;min-width:0;display:flex}.couple-profile-member small{color:var(--muted);font-size:.85rem;display:block}.settings{flex-direction:column;gap:1.25rem;max-width:40rem;display:flex}.settings-lead{color:var(--muted);margin:0 0 1rem}.settings-password{border-top:1px solid #1b223714;margin-top:1.75rem;padding-top:1.75rem}.settings-actions{flex-wrap:wrap;gap:.75rem;display:flex}.settings .form>.btn{align-self:start}.settings-switch{cursor:pointer;border-top:1px solid #1b22370f;align-items:flex-start;gap:.85rem;padding:.85rem 0;display:flex}.settings-switch:first-of-type{border-top:0}.settings-switch input{appearance:none;cursor:pointer;background:#1b223726;border-radius:999px;flex-shrink:0;width:2.75rem;height:1.55rem;margin-top:.2rem;transition:background .15s;position:relative}.settings-switch input:after{content:"";background:var(--white);border-radius:50%;width:1.25rem;height:1.25rem;transition:transform .15s;position:absolute;top:.15rem;left:.15rem}.settings-switch input:checked{background:var(--coral)}.settings-switch input:checked:after{transform:translate(1.2rem)}.settings-switch input:focus-visible{outline-offset:3px;outline:3px solid #ef4e3a73}.settings-switch span{color:var(--muted);flex-direction:column;gap:.15rem;font-size:.9rem;display:flex}.settings-switch strong{color:var(--navy);font-weight:600}.settings-danger{border-color:#aa30302e}.settings-danger h2{color:#aa3030}.settings-danger-btn{color:#aa3030;background:0 0;border-color:#aa303059}.settings-danger-btn:hover{background:#fff1f1}@media (width<=600px){.settings .btn{justify-content:center;width:100%}}.games-page{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;min-width:0;margin:0;display:grid;container:games/inline-size}.games-tabs{flex-wrap:wrap;gap:8px;display:flex}.games-tabs button{background:var(--white);min-height:42px;color:var(--muted);font:inherit;cursor:pointer;border:1px solid #1b22371f;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-weight:700;display:inline-flex}.games-tabs button:hover,.games-tabs button.is-selected{background:var(--coral-soft);color:var(--coral-deep);border-color:#c6523c59}.games-tab-dot{border:2px solid;border-radius:50%;width:14px;height:14px;display:inline-block}.games-tab-ultimate{border:2px solid;border-radius:4px;place-items:center;width:16px;height:16px;font-size:.65rem;font-weight:800;line-height:1;display:inline-grid}.games-intro{background:linear-gradient(135deg,#fff4ee 0%,#fffaf7 72%);border-color:#c6523c1f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 24px;display:grid}.games-intro .eyebrow,.yams-board .eyebrow{color:var(--coral-deep)}.games-intro h2{margin:3px 0 2px;font-size:26px}.games-intro p,.games-rules p{color:var(--muted);margin:0;line-height:1.7}.games-rules p+p{margin-top:12px}.games-intro .btn{flex-shrink:0;margin-left:auto}.games-icon{background:var(--white);color:#bd4a37;border-radius:16px;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 10px 24px -18px #c6523ccc}.games-invitation,.games-rules,.games-history{padding:24px}.games-meta{grid-template-columns:1fr;align-items:start;gap:16px;min-width:0;display:grid}.games-meta>*{min-width:0}.games-meta>:only-child{grid-column:1/-1}@container games (width>=720px){.games-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.games-invitation h2{margin:10px 0 4px}.games-invitation p{color:var(--muted);margin:0}.games-actions{flex-wrap:wrap;align-items:center;gap:12px;padding:20px 0;display:flex}.games-actions .btn-light{background:var(--cream);color:var(--navy);border-color:#1b223729}.games-actions .btn-light:hover{background:var(--cream-deep);border-color:#1b223747}.games-error{color:#9e2525}.games-empty{justify-items:start;gap:14px;padding:24px;display:grid}.games-empty p{color:var(--muted);margin:0}.yams-board,.connect4-board{padding:24px;overflow:hidden}.connect4-board .chip{background:var(--coral-soft);color:var(--coral-deep)}.connect4-play{background:#244b83;border-radius:20px;width:min(100%,560px);margin:24px auto 8px;padding:14px;box-shadow:0 18px 32px -24px #1b2237cc}.connect4-columns,.connect4-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(5px,1vw,9px);display:grid}.connect4-columns{margin-bottom:8px}.connect4-column-button{color:#dceaff;cursor:pointer;background:#ffffff1a;border:0;border-radius:8px;min-height:32px;font-size:1.3rem}.connect4-column-button:hover:not(:disabled){background:#ffffff38}.connect4-column-button:disabled{opacity:.35;cursor:default}.connect4-grid{padding:4px}.connect4-cell{aspect-ratio:1;background:#f7f4f0;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 3px 6px #1b223733}.connect4-token{aspect-ratio:1;border-radius:50%;width:78%;box-shadow:inset 0 3px 4px #ffffff59,0 2px 3px #1b223733}.connect4-token.token-1{background:#f26f5a}.connect4-token.token-2{background:#f1c75b}.connect4-token.is-last-move{animation:1.6s ease-in-out infinite last-move-pulse;box-shadow:inset 0 3px 4px #ffffff59,0 0 0 3px #f7f4f0,0 0 0 6px #f5cb68,0 0 14px #f5cb68d9}.connect4-result{text-align:center;justify-items:center;gap:8px;padding:34px 12px 16px;display:grid}.connect4-result svg{width:42px;height:42px;color:var(--coral);margin-bottom:4px}.connect4-result h3{color:var(--navy);margin:0;font-size:1.35rem}.ultimate-board{padding:24px;overflow:hidden}.ultimate-board .chip{background:var(--coral-soft);color:var(--coral-deep)}.ultimate-play{background:#244b83;border-radius:20px;width:min(100%,360px);margin:24px auto 8px;padding:clamp(10px,2vw,16px);box-shadow:0 18px 32px -24px #1b2237cc}.ultimate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.6vw,12px);display:grid}.ultimate-cell{aspect-ratio:1;color:var(--navy);cursor:pointer;background:#f7f4f0;border:0;border-radius:10px;place-items:center;padding:0;font-family:Inter,Arial,sans-serif;font-size:clamp(1.8rem,8vw,3.2rem);font-weight:700;line-height:1;display:grid}.ultimate-cell.cell-1{color:#d95340}.ultimate-cell.cell-2{color:#244b83}.ultimate-cell:disabled{cursor:default}.ultimate-cell:disabled:not(.cell-1):not(.cell-2){background:#eee9e5}.ultimate-cell:not(:disabled):hover{background:#fff8dd}.ultimate-cell.is-last-move{z-index:2;animation:1.6s ease-in-out infinite last-move-pulse;position:relative;box-shadow:0 0 0 3px #f5cb68,0 0 12px #f5cb68b3}.ultimate-result{text-align:center;justify-items:center;gap:8px;padding:34px 12px 16px;display:grid}.ultimate-result svg{width:42px;height:42px;color:var(--coral);margin-bottom:4px}.ultimate-result h3{color:var(--navy);margin:0;font-size:1.35rem}.battleship-board{padding:24px;overflow:hidden}.battleship-result{text-align:center;justify-items:center;gap:8px;padding:34px 12px 16px;display:grid}.battleship-result svg{width:42px;height:42px;color:var(--coral);margin-bottom:4px}.battleship-result h3{color:var(--navy);margin:0;font-size:1.35rem}.battleship-setup{gap:12px;margin:8px 0 16px;display:grid}.battleship-ships{flex-wrap:wrap;gap:8px;display:flex}.battleship-ship{text-align:left;background:#fff;border:1px solid #e4dfd9;border-radius:12px;gap:2px;min-height:44px;padding:8px 12px;display:grid}.battleship-ship.is-selected{border-color:var(--game-accent);background:var(--game-tint);color:var(--game-accent)}.battleship-ship.is-placed strong:after{content:" ✓"}.battleship-ship span{color:var(--muted);font-size:12px}.battleship-setup-actions{flex-wrap:wrap;gap:8px;display:flex}.battleship-play{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 8px;display:grid}.battleship-play.is-setup{grid-template-columns:minmax(0,1fr)}.battleship-grid-wrap h3{margin:0 0 8px;font-size:15px}.battleship-grid{background:linear-gradient(145deg,#1b4f73,#12364f);border-radius:16px;grid-template-columns:1.4rem repeat(10,minmax(0,1fr));gap:3px;padding:10px;display:grid}.battleship-col-label,.battleship-row-label,.battleship-corner{color:#d7e7f3;place-items:center;font-size:10px;font-weight:700;display:grid}.battleship-cell{aspect-ratio:1;background:#8ec4e0;border:0;border-radius:4px;min-width:0;padding:0}.battleship-cell.is-ship{background:#d8c4a6}.battleship-cell.is-miss{background:#eef6fb}.battleship-cell.is-hit{background:#e07a4e}.battleship-cell.is-sunk{background:#8a2f2f}.battleship-cell.is-preview{background:#f5cb68}.battleship-cell.is-invalid{background:#c45c5c}.battleship-cell.is-last-move{box-shadow:0 0 0 2px #f5cb68}.battleship-cell:disabled{cursor:default}.battleship-cell:not(:disabled):hover{filter:brightness(1.08)}.scrabble-board{padding:24px;overflow:hidden}.scrabble-result{text-align:center;justify-items:center;gap:8px;padding:34px 12px 16px;display:grid}.scrabble-result svg{width:42px;height:42px;color:var(--coral);margin-bottom:4px}.scrabble-result h3{color:var(--navy);margin:0;font-size:1.35rem}.scrabble-result p{color:var(--muted);gap:8px;margin:0;display:flex}.scrabble-panel{max-width:720px}.scrabble-meta{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.scrabble-grid-wrap{margin:12px 0 8px;overflow-x:auto}.scrabble-grid{background:#0f4d32;border-radius:14px;grid-template-columns:1.1rem repeat(15,minmax(0,1fr));gap:1px;min-width:min(100%,560px);padding:8px;display:grid}.scrabble-col-label,.scrabble-row-label,.scrabble-corner{color:#d7efe3;place-items:center;font-size:9px;font-weight:700;display:grid}.scrabble-cell{aspect-ratio:1;color:#ffffffb8;background:#2f8a5c;border:0;border-radius:2px;min-width:0;padding:0}.scrabble-cell.is-dl{color:#12324a;background:#7eb8d4}.scrabble-cell.is-tl{background:#1d4e89}.scrabble-cell.is-dw,.scrabble-cell.is-center{color:#6a2434;background:#e8a0b0}.scrabble-cell.is-tw{background:#c44536}.scrabble-cell.has-tile{background:0 0}.scrabble-cell.is-draft{outline-offset:-2px;z-index:1;outline:2px solid #f5cb68}.scrabble-cell.is-last-move .scrabble-tile{box-shadow:0 0 0 2px #f5cb68}.scrabble-cell:disabled{cursor:default}.scrabble-cell:not(:disabled):hover{filter:brightness(1.08)}.scrabble-premium{letter-spacing:.02em;font-size:8px;font-weight:800}.scrabble-tile{color:#2a2218;background:linear-gradient(#f6e4bc,#e4c98a);border:0;border-radius:4px;place-items:center;width:100%;height:100%;min-height:32px;font-size:clamp(11px,2.4vw,16px);font-weight:800;line-height:1;display:grid;position:relative;box-shadow:1px 1px #c4a86a}.scrabble-tile small{font-size:.55em;font-weight:700;position:absolute;bottom:1px;right:2px}.scrabble-tile.is-blank{color:#6d5c3d}.scrabble-tile.is-used{opacity:.35}.scrabble-tile.is-selected{outline:2px solid var(--game-accent);outline-offset:1px}.scrabble-rack{background:#c9a36a;border-radius:14px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:420px;margin:12px auto 8px;padding:10px;display:grid}.scrabble-rack .scrabble-tile{aspect-ratio:1;min-height:40px;font-size:20px}.scrabble-controls,.scrabble-blank{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 4px;display:flex}.scrabble-blank{background:#fff;border:1px solid #e4dfd9;border-radius:16px;justify-items:center;padding:12px;display:grid}.scrabble-blank p{margin:0;font-weight:700}.scrabble-blank-letters{grid-template-columns:repeat(13,minmax(0,1fr));gap:4px;width:100%;display:grid}.scrabble-blank-letters .scrabble-tile{min-height:32px;font-size:14px}.yams-board-head{flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:0}.yams-board-head>div:first-child{flex-shrink:0}.yams-board-head h2{font-size:1.25rem}.yams-board-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.yams-board .chip{background:var(--coral-soft);color:var(--coral-deep)}.yams-board .yams-turn-chip{color:var(--navy);background:#f6f3f2}.yams-board .yams-turn-chip.is-mine{color:var(--coral-deep);background:#ffebe3}.game-turn{color:var(--muted);background:#f6f3f2;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 4px;padding:14px 16px;display:flex}.game-turn>div{gap:2px;display:grid}.game-turn strong{color:var(--navy)}.game-turn-count{color:var(--muted);flex-shrink:0;font-size:.8rem;font-weight:600}.game-turn.is-mine{background:#ffebe3}.yams-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);align-items:start;gap:20px;margin-top:20px;display:grid}.yams-layout.is-finished{grid-template-columns:1fr}.yams-layout.is-finished .yams-main-panel{min-height:0}.yams-main-panel,.yams-score-panel{border:1px solid #1b223712;border-radius:18px;min-width:0}.yams-main-panel{background:linear-gradient(#fffaf7 0%,#fff 100%);min-height:390px}.yams-score-panel{background:#fff;padding:18px;position:sticky;top:1.25rem;container:yams-score/inline-size}.yams-play,.yams-result{text-align:center;padding:28px 24px 30px}.yams-play-heading{text-align:left;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.yams-play h3,.yams-result h3{color:var(--navy);margin:4px 0 0;font-size:1.5rem}.roll-count,.yams-score-progress{background:var(--cream);min-width:48px;min-height:32px;color:var(--navy);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.8rem;font-weight:700;display:inline-flex}.yams-play p{color:#575766;max-width:34rem;margin:10px auto 0}.yams-dice{background:radial-gradient(at 50% 18%,#ffffff29,#0000 52%),repeating-radial-gradient(circle at 20% 30%,#ffffff08 0 1px,#0000 1px 7px),linear-gradient(165deg,#323b58 0%,#1b2237 58%,#14192b 100%);border-radius:22px;justify-content:center;align-items:flex-end;gap:14px;margin:28px 0 24px;padding:36px 18px 18px;display:flex;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffff24,inset 0 -18px 28px #00000047,0 12px 24px -16px #1b223780}.yams-dice-sound{appearance:none;width:32px;height:32px;font:inherit;color:#f6efe8;cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;place-items:center;padding:0;transition:background .15s,transform .15s;display:grid;position:absolute;top:10px;right:10px}.yams-dice-sound:hover{background:#ffffff38;transform:translateY(-1px)}.yams-dice-sound[aria-pressed=false]{color:#f6efe88c}.yams-die{--die-size:72px;width:var(--die-size);appearance:none;min-height:0;font:inherit;color:#f4ebe3;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;flex:none;justify-items:center;gap:10px;padding:0;display:grid}.yams-die-body{box-sizing:border-box;width:var(--die-size);height:var(--die-size);background:linear-gradient(#ffffff8c 0%,#0000 42%),linear-gradient(145deg,#fff 0%,#f4eee8 52%,#e4d8cc 100%);border-radius:16px;padding:0;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden;box-shadow:inset 0 1px #fffffff2,inset 0 -3px 6px #1b22371f,0 0 0 1px #1b22371f,0 10px 16px -8px #00000073}.yams-die:not(:disabled):hover .yams-die-body,.yams-die[data-held=true] .yams-die-body{transform:translateY(-6px)}.yams-die[data-held=true] .yams-die-body{box-shadow:inset 0 1px #fffffff2,inset 0 -3px 6px #c6523c24,0 0 0 3px #ef4e3a,0 12px 18px -8px #ef4e3a8c}.yams-die.is-idle .yams-die-body{background:linear-gradient(#ffffff59 0%,#0000 42%),linear-gradient(145deg,#f7f1ea 0%,#e8ddd2 100%)}.yams-die.is-rolling .yams-die-body{animation:.85s cubic-bezier(.18,.7,.2,1) yams-die-roll}.yams-die-face{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:4px;width:100%;height:100%;padding:11px;display:grid}.yams-die-pip{opacity:0;background:radial-gradient(circle at 32% 28%,#4a415c,#1b2237 68%);border-radius:50%;width:100%;height:100%;display:block;transform:scale(.72);box-shadow:inset 0 1px 1px #ffffff47,0 1px 1px #00000040}.yams-die-pip[data-on=true]{opacity:1}.yams-die[data-held=true] .yams-die-pip[data-on=true]{background:radial-gradient(circle at 32% 28%,#ff7a66,#d63a28 70%)}.yams-die.is-idle .yams-die-pip{opacity:0}.yams-die small{letter-spacing:.04em;text-transform:uppercase;color:#f6efe8b8;font-size:.68rem;font-weight:700;display:block}.yams-die[data-held=true] small{color:#ffd1c6}.yams-die:disabled{cursor:default;opacity:1}@keyframes yams-die-roll{0%{transform:translateY(0)rotate(0)scale(1)}22%{transform:translateY(-26px)rotate(140deg)scale(1.08)}48%{transform:translateY(4px)rotate(260deg)scale(.94)}72%{transform:translateY(-10px)rotate(330deg)scale(1.03)}to{transform:translateY(0)rotate(360deg)scale(1)}}@keyframes last-move-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.18)}}.yams-controls{justify-items:center;gap:8px;display:grid}.yams-controls .btn{justify-content:center;min-width:220px}.yams-controls .btn span{opacity:.78;padding-left:4px;font-size:.8rem}.yams-controls small{color:var(--muted);font-size:.75rem}.yams-result{align-content:center;justify-items:center;min-height:390px;display:grid}.yams-result svg{width:42px;height:42px;color:var(--coral);margin-bottom:14px}.yams-result p{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:18px 0 0;font-size:1.65rem;display:flex}.yams-result p span{font-size:1rem}.yams-score-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.yams-score-heading h3{color:var(--navy);margin:4px 0 0;font-size:1.1rem}.yams-score-key{display:none}.yams-score-blocks{grid-template-columns:1fr 1fr;align-items:start;gap:8px 18px;display:grid}.yams-scores{min-width:0;overflow-x:auto}.yams-scores table{border-collapse:collapse;width:100%}.yams-scores caption{caption-side:top;text-align:left;color:var(--navy);padding:0 0 8px;font-size:.8rem;font-weight:700}.yams-scores th,.yams-scores td{text-align:center;border-bottom:1px solid #ded8d3;padding:9px 6px;font-size:.84rem}.yams-scores th:first-child{text-align:left;width:46%}.yams-scores th small{color:#66606a;margin-top:3px;font-size:.64rem;font-weight:400;line-height:1.3;display:block}.yams-subtotal{background:var(--cream);font-weight:700}.yams-subtotal th,.yams-subtotal td{border-bottom:0}.yams-scores-total{margin-top:10px}.yams-score-blocks .yams-score-choice{width:100%;min-width:0;padding:5px 4px}.yams-score-choice{color:#923721;cursor:pointer;background:#fff2ec;border:1px solid #b74b36;border-radius:8px;min-width:60px;min-height:44px;padding:6px 8px;font-weight:700}.yams-score-choice small{font-weight:400;display:block}.yams-total{background:#fff2ec;font-size:20px;font-weight:700}.yams-total th,.yams-total td{border-bottom:0;font-size:1rem}.games-history button{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;border-bottom:1px solid #ded8d3;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;padding:18px 0;display:flex}.games-rules summary,.games-history summary{cursor:pointer;padding:8px 0;font-weight:700}.game-notice{background:#ffebe3;border-radius:12px;margin-bottom:20px;padding:16px}.game-notice a{color:#923721;margin-left:10px;font-weight:700}.games-page button:disabled{cursor:default}.games-page .btn:disabled{opacity:.5}@media (width<=680px){.games-page{gap:12px}.games-intro{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:18px}.games-icon{border-radius:13px;width:42px;height:42px}.games-icon svg{width:24px;height:24px}.games-intro p{font-size:.83rem;line-height:1.5}.games-intro .btn{grid-column:1/-1;width:100%;margin-left:0}.games-tabs{grid-template-columns:repeat(5,1fr);display:grid}.games-tabs button{justify-content:center}.games-invitation,.games-rules,.games-history{padding:18px}.game-turn{flex-direction:column;align-items:flex-start;gap:6px;margin-top:16px}.game-turn-count{font-size:.72rem}.yams-board,.connect4-board,.ultimate-board,.battleship-board,.scrabble-board{border-radius:1.1rem;padding:14px}.yams-board-head{padding:2px 2px 0}.yams-board-head h2{font-size:1.1rem}.yams-layout{grid-template-columns:1fr;gap:12px;margin-top:16px}.yams-main-panel{min-height:0}.yams-score-panel{padding:14px 12px;position:static}.yams-play,.yams-result{padding:20px 12px 22px}.yams-play h3,.yams-result h3{font-size:1.22rem}.yams-play p{font-size:.83rem;line-height:1.5}.yams-dice{gap:8px;margin:22px 0 18px;padding:34px 10px 12px}.yams-dice-sound{width:28px;height:28px;top:8px;right:8px}.yams-die{--die-size:54px;border-radius:0;min-height:0;padding:0}.yams-die-body{border-radius:12px}.yams-die-face{gap:3px;padding:8px}.yams-die small{font-size:.58rem}.yams-controls .btn{width:100%;min-width:0;min-height:50px}.yams-score-heading{margin-bottom:12px}.yams-score-key{background:var(--cream);color:var(--muted);text-align:center;border-radius:9px;grid-template-columns:minmax(0,1fr) 60px 60px;align-items:center;gap:4px;margin:0 -2px 8px;padding:8px 6px;font-size:.62rem;font-weight:600;line-height:1.25;display:grid}.yams-score-key span:first-child{text-align:left}.yams-scores{overflow:visible}.yams-scores table,.yams-scores tbody{display:block}.yams-scores thead{display:none}.yams-scores tr{grid-template-columns:minmax(0,1fr) 60px 60px;align-items:center;gap:4px;padding:8px 0;display:grid}.yams-scores th,.yams-scores td{border:0;width:auto;padding:5px 2px;font-size:.78rem;display:block}.yams-scores th:first-child{width:auto}.yams-scores td:before{display:none}.yams-score-choice{width:100%;min-width:0;min-height:42px;padding:4px 2px}.yams-score-choice small{font-size:.55rem}.yams-scores tr:not(.yams-total){border-bottom:1px solid #ded8d3}.yams-score-blocks{grid-template-columns:1fr;gap:14px}.yams-scores .yams-subtotal,.yams-scores .yams-total{border-radius:9px;margin:4px -6px 0;padding:10px 6px}.yams-scores-total{margin-top:4px}.yams-scores .yams-subtotal th,.yams-scores .yams-subtotal td,.yams-scores .yams-total th,.yams-scores .yams-total td{font-size:.95rem}}.notification-center,.notification-trigger{position:relative}.notification-count{color:#fff;background:#ad3c29;border:2px solid #fff;border-radius:20px;min-width:19px;padding:2px 4px;font-size:10px;font-weight:700;position:absolute;top:-5px;right:-7px}.notification-panel{color:#292939;z-index:100;background:#fff;border:1px solid #ddd5d0;border-radius:18px;width:min(420px,100vw - 32px);position:absolute;top:calc(100% + 14px);right:0;overflow:hidden;box-shadow:0 16px 60px #29293926}.notification-panel header{justify-content:space-between;align-items:center;padding:16px 20px 8px;display:flex}.notification-panel h2{margin:0;font-size:19px}.notification-toolbar{border-bottom:1px solid #e8e0db;justify-content:space-between;align-items:center;gap:8px;padding:10px 20px 16px;font-size:12px;display:flex}.notification-toolbar button{color:#963b2b;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-size:12px;display:flex}.notification-panel button:disabled{opacity:.55;cursor:default}.notification-list{overscroll-behavior:contain;max-height:min(520px,65dvh);overflow-y:auto}.notification-list ul{margin:0;padding:0;list-style:none}.notification-list li{border-bottom:1px solid #e8e0db}.notification-list li[data-unread=true]{background:#fff5ef}.notification-item{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;gap:12px;padding:18px 20px 12px;display:flex}.notification-item:hover{background:#f7ece5}.notification-symbol{color:#963b2b;background:#fbe3d7;border-radius:12px;flex-shrink:0;height:40px;padding:10px}.notification-item strong{font-size:14px;display:block}.notification-body{color:#5b535a;margin:5px 0 8px;font-size:13px;line-height:1.5;display:block}.notification-item time{color:#6b6269;font-size:11px}.notification-unread{background:#ad3c29;border-radius:50%;width:7px;height:7px;margin-left:8px;display:inline-block}.notification-read{color:#963b2b;cursor:pointer;background:0 0;border:0;margin:0 20px 12px 72px;padding:6px 0;font-size:12px}.notification-empty{text-align:center;color:#635a61;padding:38px 24px}.notification-empty h3{color:#292939;font-size:16px}.notification-empty p{font-size:13px;line-height:1.6}.notification-more{color:#963b2b;cursor:pointer;background:#fff;border:0;width:100%;padding:16px}.notification-message{padding:12px 20px;font-size:13px}@media (width<=680px){.notification-panel{position:fixed;top:90px;right:16px}}.games-tabs{background:#f5f1ed;border:1px solid #e6dfd9;border-radius:16px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:5px;display:grid}.games-tabs button{background:0 0;border-color:#0000;border-radius:11px;justify-content:center;min-height:48px}.games-tabs button.is-selected{background:#fff;border-color:#e6dfd9;box-shadow:0 2px 5px #1b223509}.games-intro.is-compact{display:none}.games-intro.is-compact:has(.btn){display:grid}.games-page button:focus-visible,.games-page a:focus-visible,.games-page summary:focus-visible{outline-offset:3px;outline:3px solid #244b83}.games-page button{touch-action:manipulation}.games-history summary{cursor:pointer;padding:8px 0;font-weight:700}.games-history button{text-align:left;gap:12px;min-height:52px}.games-history button:hover{background:var(--cream)}.games-page .game-turn{margin-top:14px}.games-page .game-turn-count{white-space:normal}.yams-board{overflow:visible}.yams-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr)}.yams-main-panel{min-height:0;position:sticky;top:20px}.yams-score-panel{position:static}.games-score-link{color:var(--coral-deep);padding:12px;font-weight:700}#yams-score-title{scroll-margin-top:24px}.yams-score-choice{min-height:44px}.yams-score-choice[aria-pressed=true]{background:var(--coral-deep);color:#fff}.yams-score-confirm{z-index:3;background:#fff5ef;border:1px solid #e6b3a5;border-radius:14px;gap:6px;margin-top:12px;padding:16px;display:grid;position:sticky;bottom:16px;box-shadow:0 4px 24px #1b22351a}.yams-score-confirm>span{font-size:.85rem}.yams-score-confirm .games-actions{margin:4px 0 0}.game-players{flex-wrap:wrap;justify-content:center;gap:12px 24px;margin-top:18px;display:flex}.game-players>span{align-items:center;gap:7px;font-size:.85rem;display:inline-flex}.player-dot{border:1px solid #0002;border-radius:50%;width:14px;height:14px}.player-dot.token-1{background:#f26f5a}.player-dot.token-2{background:#f1c75b}.connect4-play{margin-top:12px}.connect4-column-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(4px,1vw,9px);display:grid}.connect4-drop-column{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:10px;gap:clamp(4px,1vw,9px);min-width:0;padding:3px;display:grid}.connect4-drop-arrow{place-items:center;min-height:32px;font-size:1.4rem;display:grid}.connect4-drop-column:not(:disabled):hover,.connect4-drop-column:not(:disabled):focus-visible{background:#ffffff35}.connect4-drop-column:disabled .connect4-drop-arrow{opacity:.3}@container games (width<=800px){.yams-layout{grid-template-columns:1fr}.yams-main-panel{position:static}}@container yams-score (width<=540px){.yams-score-blocks{grid-template-columns:1fr;gap:16px}}@media (width<=680px){.games-tabs button{flex-direction:column;gap:5px;padding:8px 4px;font-size:.75rem}.games-page .yams-board-head{gap:8px}.yams-board .chip{padding:.18rem .5rem;font-size:.68rem}.games-page .game-turn{padding:12px;font-size:.85rem}.yams-play{padding:14px 10px}.yams-play-heading{display:none}.yams-play p{margin-top:0}.yams-dice{margin:12px 0}.yams-die{--die-size:48px}.yams-die small{font-size:.7rem}.yams-score-panel{padding:12px 8px}.yams-score-key{font-size:.75rem}.yams-score-choice small{font-size:.7rem}.yams-score-confirm{bottom:12px}.connect4-play{border-radius:14px;padding:8px}.ultimate-play{padding:10px}.ultimate-grid{gap:8px}.battleship-play{grid-template-columns:1fr}.scrabble-blank-letters{grid-template-columns:repeat(9,minmax(0,1fr))}.scrabble-grid{min-width:0}}.app-content.app-content-games{padding-inline:16px}@media (width<=680px){.app-content.app-content-games{padding-inline:max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right))}.app-content-games .yams-board,.app-content-games .connect4-board,.app-content-games .ultimate-board,.app-content-games .battleship-board,.app-content-games .scrabble-board{padding-inline:8px}.app-content-games .yams-score-panel{padding-inline:4px}}.tasks-panel{width:100%}.tasks-intro{color:var(--text-muted,#626776);margin:0 0 24px}.tasks-tabs,.tasks-actions{align-items:center;gap:10px;display:flex}.tasks-tabs{margin-bottom:20px}.tasks-tabs [aria-pressed=true]{color:#fff;background:#26354a}.tasks-filters{grid-template-columns:2fr repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.tasks-panel label{flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}.tasks-panel input,.tasks-panel select,.tasks-panel textarea{color:#26354a;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #aab1bd;border-radius:10px;padding:11px}.tasks-rows{margin:0;padding:0;list-style:none}.tasks-row{border-bottom:1px solid #e5e7eb;align-items:center;gap:14px;padding:20px 0;display:flex}.tasks-row .task-check{cursor:pointer;flex-shrink:0}.tasks-row-copy{overflow-wrap:anywhere;flex:1;min-width:0}.tasks-row-copy p{white-space:pre-wrap;color:#626776;margin:8px 0;font-size:14px}.tasks-row[data-completed=true] strong{color:#626776;text-decoration:line-through}.tasks-meta{color:#626776;flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:12px;display:flex}.tasks-meta [data-priority=high],.tasks-late{color:#aa3030;font-weight:600}.tasks-more{margin-top:20px;font-size:13px}.tasks-dialog{z-index:100;color:#26354a;background:#fff;border:1px solid #aab1bd;border-radius:20px;width:min(520px,100vw - 32px);max-height:85dvh;margin:auto;padding:28px;position:fixed;inset:0;overflow:auto;box-shadow:0 0 0 100vmax #17243699}.tasks-dialog form{gap:16px;display:grid}.tasks-dialog h2{margin:0 0 12px}.tasks-dialog .tasks-actions{justify-content:flex-end;margin-top:12px}.tasks-panel button:disabled{opacity:.55;cursor:wait}.tasks-panel :focus-visible{outline-offset:3px;outline:3px solid #d96050}@media (width<=900px){.tasks-filters{grid-template-columns:1fr 1fr}.tasks-filters label:first-child{grid-column:1/-1}}@media (width<=550px){.tasks-panel>.card-head{flex-direction:column;align-items:flex-start;gap:16px}.tasks-row{flex-wrap:wrap}.tasks-row .tasks-actions{margin-left:auto}.tasks-dialog{padding:20px}}.tasks-search{margin-bottom:12px}.tasks-filter-disclosure{border-bottom:1px solid #e5e7eb;margin-bottom:20px}.tasks-filter-disclosure>summary,.tasks-editor-options>summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600}.tasks-filter-count{color:#fff;background:#26354a;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;margin-left:6px;display:inline-flex}.tasks-filter-disclosure .tasks-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.tasks-reset{grid-column:1/-1;justify-self:start}.tasks-editor-options>summary small{color:#626776;padding-top:5px;font-size:12px;font-weight:400;display:block}.tasks-editor-options label{margin:14px 0}.tasks-panel .task-check{border-radius:12px;width:44px;height:44px}.tasks-panel .icon-btn{min-width:44px;min-height:44px}.tasks-dialog::backdrop{background:#17243699}.tasks-dialog{box-shadow:0 18px 70px #17243633}@media (width<=680px){.app-content:has(>.tasks-panel:not(.tasks-compact)){padding:12px}.tasks-panel:not(.tasks-compact){border-radius:18px;padding:16px}.tasks-panel:not(.tasks-compact)>.card-head{margin-bottom:16px}.tasks-panel:not(.tasks-compact)>.card-head h2,.tasks-intro{display:none}.tasks-create{justify-content:center;width:100%;min-height:48px}.tasks-tabs{background:#f0f1f4;border-radius:14px;gap:4px;margin-bottom:16px;padding:4px}.tasks-tabs .btn{border-radius:10px;flex:1;justify-content:center;min-height:44px;padding:10px}.tasks-panel input,.tasks-panel select,.tasks-panel textarea{min-height:48px;font-size:16px}.tasks-search>label{gap:0;font-size:0}.tasks-filter-disclosure .tasks-filters{grid-template-columns:minmax(0,1fr)}.tasks-filter-disclosure .tasks-filters label:first-child{grid-column:auto}.tasks-row{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:8px 12px;padding:16px 0;display:grid}.tasks-row>.tasks-actions{grid-column:2;justify-content:flex-end;width:100%}.tasks-row-copy>strong{font-size:16px;line-height:1.45;display:block}.tasks-meta{gap:6px 10px;line-height:1.5}.tasks-editor{border-radius:22px 22px 0 0;width:100%;max-width:none;max-height:92dvh;margin:0;padding:20px 20px 0;inset:auto 0 0}.tasks-editor form{gap:16px}.tasks-editor h2{margin-bottom:0;font-size:21px}.tasks-editor form>.tasks-actions{padding:12px 20px max(16px, env(safe-area-inset-bottom));z-index:1;background:#fff;border-top:1px solid #e5e7eb;margin:0 -20px;position:sticky;bottom:0}.tasks-editor .tasks-actions .btn{flex:1;justify-content:center;min-height:48px}}.agenda-panel{width:100%}.agenda-panel label{flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}.agenda-panel input,.agenda-panel select,.agenda-panel textarea{color:#26354a;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #aab1bd;border-radius:10px;padding:11px}.agenda-panel button:disabled{opacity:.55;cursor:wait}.agenda-month-nav{align-items:center;gap:8px;margin-bottom:16px;display:flex}.agenda-month-label{text-align:center;font-family:var(--font-display);color:var(--navy);text-transform:capitalize;flex:1;margin:0;font-size:1.2rem}.agenda-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:24px;display:grid}.agenda-weekday{text-align:center;text-transform:uppercase;color:var(--coral);padding:4px 0;font-size:.7rem;font-weight:700}.agenda-cell{min-height:52px;color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;display:flex}.agenda-cell:hover{background:var(--cream)}.agenda-cell[data-outside]{color:var(--muted);opacity:.55}.agenda-cell[data-today]{box-shadow:inset 0 0 0 1.5px var(--coral-soft)}.agenda-cell[data-selected]{background:var(--navy);color:var(--white)}.agenda-cell[data-selected][data-today]{box-shadow:none}.agenda-dots{gap:3px;min-height:6px;display:flex}.agenda-dots i{background:var(--peach);border-radius:50%;width:6px;height:6px}.agenda-cell[data-selected] .agenda-dots i{background:var(--white)}.agenda-dots i[data-tag=sortie]{background:var(--coral)}.agenda-dots i[data-tag=famille]{background:#3b6ea8}.agenda-dots i[data-tag=admin]{background:var(--navy)}.agenda-dots i[data-tag=couple]{background:#c45b8c}.tag[data-tag]{background:var(--cream);color:var(--navy)}.agenda-panel .event{gap:.75rem}.agenda-allday{align-items:center;flex-direction:row!important;gap:10px!important}.agenda-allday input{min-width:0;width:auto!important}.agenda-times{grid-template-columns:1fr 1fr;gap:12px;display:grid}.agenda-panel :focus-visible{outline-offset:3px;outline:3px solid #d96050}@media (width<=680px){.app-content:has(>.agenda-panel:not(.agenda-compact)){padding:12px}.agenda-panel:not(.agenda-compact){border-radius:18px;padding:16px}.agenda-panel:not(.agenda-compact)>.card-head h2,.agenda-panel:not(.agenda-compact)>.tasks-intro{display:none}.agenda-panel .tasks-create{justify-content:center;width:100%;min-height:48px}.agenda-cell{min-height:48px}.agenda-panel input,.agenda-panel select,.agenda-panel textarea{min-height:48px;font-size:16px}.agenda-panel .event{flex-wrap:wrap}.agenda-panel .event .tasks-actions{margin-left:auto}}.games-page{--game-accent:#b53e2d;--game-tint:#fff0e8;gap:20px;max-width:1240px;margin-inline:auto}.games-page[data-game=connect4]{--game-accent:#236b66;--game-tint:#e9f5f1}.games-page[data-game=ultimate]{--game-accent:#6b50a0;--game-tint:#f1edfa}.games-page[data-game=battleship]{--game-accent:#1d5a8a;--game-tint:#e7f2fa}.games-page[data-game=scrabble]{--game-accent:#2d6a4f;--game-tint:#eaf4ee}.games-heading{justify-content:space-between;align-items:center;gap:16px;padding:8px 4px;display:flex}.games-heading .eyebrow{color:var(--game-accent);align-items:center;gap:7px;display:inline-flex}.games-heading h2{font-family:var(--font-display);letter-spacing:-1px;margin:8px 0;font-size:clamp(28px,4vw,40px);line-height:1.15}.games-heading p{color:var(--muted);margin:0;font-size:14px}.games-together{border:1px solid #dedbd6;border-radius:30px;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.games-page .games-tabs{background:0 0;border:0;gap:12px;padding:0}.games-page .games-tabs button{text-align:left;color:#66636b;background:#ffffffa6;border:1px solid #e4dfd9;border-radius:18px;justify-content:flex-start;gap:12px;padding:18px}.games-page .games-tabs button.is-selected{background:var(--game-tint);border-color:var(--game-accent);color:var(--game-accent);box-shadow:0 4px 14px #24233008}.games-tab-icon{background:#fff;border-radius:13px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.games-tab-copy{gap:3px;display:grid}.games-tab-copy strong{font-size:14px}.games-tab-copy small{font-size:11px;font-weight:400}.games-tab-indicator{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-left:auto}.is-selected .games-tab-indicator{background:var(--game-accent)}.games-page .games-intro{background:radial-gradient(ellipse at right top, var(--game-tint), transparent 75%), #fff;border:1px solid #e4dfd9;border-radius:24px;gap:24px;padding:32px}.games-page .games-icon{background:var(--game-tint);width:76px;height:76px;color:var(--game-accent);border-radius:24px;transform:rotate(-6deg)}.games-page .games-intro h2{font-family:var(--font-display);font-size:32px}.games-page .games-intro p{max-width:440px;font-size:14px;line-height:1.7}.games-page .btn-primary{background:var(--game-accent);border-color:var(--game-accent);color:#fff;border-radius:14px;justify-content:center;min-height:48px}.games-quick-guide{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:4px 8px;list-style:none;display:grid}.games-quick-guide li{color:#65616a;align-items:center;gap:10px;font-size:13px;display:flex}.games-quick-guide li>span{background:var(--game-tint);width:28px;height:28px;color:var(--game-accent);border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid}.games-page :is(.yams-board,.connect4-board,.ultimate-board,.battleship-board,.scrabble-board){border:1px solid #e4dfd9;border-radius:24px;padding:24px;box-shadow:0 8px 32px #24233004}.games-page .yams-board-head{border-bottom:1px solid #eee9e3;padding-bottom:18px}.games-page .yams-board-head h2{font-family:var(--font-display);font-size:23px}.games-page .game-turn{background:#f7f6f3;border:1px solid #e5e1dc;border-radius:16px;max-width:620px;margin:20px auto 0}.games-page .game-turn.is-mine{background:var(--game-tint);border-color:var(--game-accent)}.games-page .game-turn strong{color:var(--game-accent)}.games-page .chip{background:var(--game-tint);color:var(--game-accent)}.games-page .game-players>span{overflow-wrap:anywhere;background:#f8f6f3;border-radius:30px;padding:7px 12px}.games-page .connect4-play{background:linear-gradient(145deg,#286e69,#174d4c);border-radius:22px;margin-bottom:24px;padding:16px;box-shadow:0 8px #123e3c,0 18px 28px -15px #173d3c70}.games-page .connect4-cell{background:#f7f4ee;box-shadow:inset 0 3px 5px #173d3c35}.games-page .connect4-token{box-shadow:inset 0 0 0 4px #ffffff30,0 2px 3px #0002}.games-page .connect4-token.is-last-move{box-shadow:inset 0 0 0 4px #ffffff30,0 0 0 3px #f7f4ee,0 0 0 6px #f5cb68,0 0 14px #f5cb68d9}.games-page .connect4-drop-arrow{min-height:36px}.games-page .ultimate-play{background:#332e49;border-radius:20px;margin-bottom:24px;box-shadow:0 7px #241f35,0 18px 28px -15px #332e4970}.games-page .yams-main-panel{background:#fbf7f1;border-color:#eee4d8}.games-scoreboard{text-align:center;border-bottom:1px solid #e9dfd5;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:18px;display:grid}.games-scoreboard>div{min-width:0;display:grid}.games-scoreboard>div>span{overflow-wrap:anywhere;color:#6a6260;font-size:12px}.games-scoreboard strong{font-variant-numeric:tabular-nums;color:#372d2a;font-size:28px}.games-scoreboard strong small{font-size:11px;font-weight:400}.games-scoreboard>span{color:#93877e;font-size:12px}.games-page .yams-score-choice{color:#a63525;background:#fff0e8;border-radius:10px;min-width:48px}.games-page .yams-score-choice[aria-pressed=true]{background:var(--game-accent);color:#fff}.games-page .yams-score-confirm{border:2px solid var(--game-accent);background:#fffaf7}.games-page .games-meta{gap:16px}.games-page :is(.games-rules,.games-history){background:#ffffffa6;border:1px solid #e4dfd9;border-radius:18px;padding:16px 20px}.games-page summary{align-content:center;min-height:44px}.games-page .games-history button{border-bottom:1px solid #e9e3dc;flex-wrap:wrap;padding:14px 8px}.games-page .games-history strong{color:var(--game-accent)}.games-page :is(.connect4-board,.ultimate-board,.yams-board)>.games-actions{border-top:1px solid #eee9e3;margin-top:24px;padding-top:16px}.games-page .games-actions .btn-light{border-radius:12px;min-height:44px}.games-loading{color:var(--muted);padding:32px}@media (width<=680px){.app-content.app-content-games{padding-inline:12px}.games-page{gap:14px}.games-heading{padding:0 2px 4px}.games-heading p{max-width:280px;font-size:12px}.games-together{display:none}.games-page .games-tabs{gap:7px}.games-page .games-tabs button{text-align:center;border-radius:16px;gap:8px;padding:12px 3px;position:relative}.games-tab-icon{border-radius:11px;width:36px;height:36px}.games-tab-copy strong{font-size:11px}.games-tab-copy small{display:none}.games-tab-indicator{width:5px;height:5px;position:absolute;top:8px;right:8px}.games-page .games-intro{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px}.games-page .games-icon{border-radius:17px;width:52px;height:52px}.games-page .games-intro h2{font-size:26px}.games-page .games-intro p{margin:4px 0;font-size:12px}.games-page .games-intro .btn{grid-column:1/-1;width:100%;margin:6px 0 0}.games-quick-guide{grid-template-columns:1fr;gap:10px;padding:2px 8px}.games-page :is(.yams-board,.connect4-board,.ultimate-board,.battleship-board,.scrabble-board){border-radius:20px;padding:16px 10px}.games-page .yams-board-head{flex-wrap:wrap;padding:0 4px 12px}.games-page .yams-board-head h2{font-size:20px}.games-page .yams-board-badges{justify-content:flex-start}.games-page .yams-layout{gap:14px;margin-top:14px}.games-page .yams-main-panel{min-height:0}.games-scoreboard{padding:10px}.games-scoreboard strong{font-size:24px}.games-page .yams-play{padding:16px 8px}.games-page .yams-dice{gap:5px}.games-page .yams-die{--die-size:clamp(36px, 11vw, 54px)}.games-page .yams-score-panel{padding:12px 6px}.games-page .yams-score-confirm{bottom:calc(84px + env(safe-area-inset-bottom))}.games-page .yams-score-confirm .games-actions{grid-template-columns:1fr auto;gap:8px;display:grid}.games-page .yams-score-confirm .btn{padding:10px;font-size:12px}.games-page .connect4-play{border-radius:16px;padding:8px}.games-page .connect4-drop-column{padding:1px}.games-page .ultimate-play{margin-top:12px;padding:10px}.games-page .game-turn{margin-top:14px}.games-page .games-meta{grid-template-columns:1fr;gap:10px}.games-page :is(.games-rules,.games-history){padding:12px 16px}.games-page .games-history button{font-size:12px}}@media (prefers-reduced-motion:reduce){.games-page *,.games-page :before,.games-page :after{scroll-behavior:auto;transition:none!important;animation:none!important}}@media (width<=680px){.games-page .yams-score-confirm{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(80px + env(safe-area-inset-bottom));z-index:20;margin:0;position:fixed}.games-page .yams-score-panel:has(.yams-score-confirm){padding-bottom:160px}}.games-page .yams-board-head :is(.eyebrow,h2 svg){color:var(--game-accent)}@media (width<=680px){.games-page{gap:10px}.games-page .games-tabs button{border-radius:12px;flex-direction:row;justify-content:center;gap:5px;min-height:48px;padding:8px 4px}.games-page .games-tab-icon{background:0 0;width:20px;height:24px}.games-page .games-tab-icon svg{width:18px;height:18px}.games-page .games-tab-copy strong{font-size:10px}.games-page .games-tab-indicator,.games-page .games-intro p,.games-page .yams-board-head>div:first-child,.games-page .game-turn strong,.games-page .yams-score-heading .eyebrow{display:none}.games-page .games-intro{gap:10px;padding:16px}.games-page .games-intro h2{font-size:23px}.games-page :is(.yams-board,.connect4-board,.ultimate-board,.battleship-board,.scrabble-board){padding:10px 8px}.games-page .yams-board-head{margin:0;padding:0 2px 8px}.games-page .game-turn{gap:4px;margin-top:8px;padding:8px 10px;font-size:12px}.games-page .game-players{gap:8px;margin-top:8px}.games-page .game-players>span{padding:4px 8px;font-size:12px}.games-page .yams-layout{gap:10px;margin-top:8px}.games-page .games-scoreboard{padding:6px 10px}.games-page .yams-play{padding:10px 8px}.games-page .yams-play p{margin:0 0 8px;font-size:12px}.games-page .yams-dice{margin-block:8px}.games-page .games-score-link{padding:6px;font-size:13px}.games-page .yams-score-heading{margin-bottom:8px}.games-page .yams-score-heading h3{font-size:16px}}.games-page .game-board-panel{background:#fbf7f1;border:1px solid #e8e2da;border-radius:18px;max-width:660px;margin:20px auto 0;padding:0 16px 16px}.games-page .scrabble-panel{max-width:720px}.games-page .game-matchup{margin-inline:-16px;padding:12px 16px}.games-page .game-matchup>div{border-radius:10px;justify-items:center;gap:6px;padding:4px 8px}.games-page .game-matchup>div[data-active]{background:var(--game-tint);box-shadow:inset 0 -2px var(--game-accent)}.games-page .game-matchup .player-dot{width:24px;height:24px}.games-page .game-player-mark{font-size:24px;line-height:1}.games-page .game-player-mark.mark-x{color:#b53e2d}.games-page .game-player-mark.mark-o{color:#236b66}.games-page .game-board-instruction{text-align:center;color:var(--muted);margin:12px 0 0;font-size:13px}.games-page .game-board-panel :is(.connect4-play,.ultimate-play){margin-block:12px 8px}@media (width<=680px){.games-page .game-board-panel{border-radius:14px;margin-top:8px;padding:0 6px 10px}.games-page .game-matchup{margin-inline:-6px;padding:6px}.games-page .game-matchup>div{gap:4px}.games-page .game-board-instruction{margin-top:8px;font-size:12px}.games-page .game-board-panel :is(.connect4-play,.ultimate-play){margin-top:8px}}.budget-page{gap:1.25rem;display:grid}.savings-list{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.savings-item{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.savings-copy{flex:1;min-width:0}.savings-copy p{color:var(--muted);margin:.35rem 0;font-size:.95rem}.onboard{gap:1.25rem;max-width:40rem;display:grid}.onboard-steps{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.onboard-step{color:inherit;align-items:flex-start;gap:1rem;text-decoration:none;display:flex}.onboard-step p{color:var(--muted);margin:.25rem 0 0}.onboard-icon{background:var(--cream);width:2.5rem;height:2.5rem;color:var(--coral-deep);border-radius:.8rem;flex-shrink:0;place-items:center;display:grid}.card-head span{color:var(--muted);font-size:.9rem}
