@charset "UTF-8";:root{--primary: #315fe8;--primary-hover: #284fd0;--primary-soft: #eef3ff;--primary-soft-strong: #e1eafe;--primary-border: #bdcdfa;--danger: #c83232;--danger-soft: #fff3f2;--danger-border: #f4c7c4;--success: #17814a;--success-soft: #edf8f1;--border: #e2e6ec;--muted: #667085;--text: #172033;--bg: #f6f7f9;--surface: #ffffff;--surface-hover: #f0f3f7;--shadow-card: 0 12px 30px rgb(15 23 42 / 7%);--shadow-popover: 0 18px 45px rgb(15 23 42 / 14%)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}a,button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid #a9bef8;outline-offset:2px}.eyebrow{margin:0 0 7px;color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}h1{font-size:2rem;letter-spacing:-.03em}h2{font-size:1.1rem;margin:0 0 .5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.2rem 1.35rem;margin-bottom:1.1rem}.card-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.household-name{font-size:1.15rem;font-weight:600;color:var(--primary);text-decoration:none}.household-name:hover{text-decoration:underline}.badge{font-size:.75rem;background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:.15rem .6rem}.member+.member:before{content:", "}.member-list{margin:1rem 0;border-top:1px solid var(--border)}.member-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.shopping-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem}.shopping-list-card{display:grid;gap:1rem}.shopping-list-link{display:grid;gap:.25rem;color:inherit;text-decoration:none}.shopping-list-link:hover strong{color:var(--primary)}@media(max-width:640px){.member-row{align-items:flex-start;flex-direction:column}}.inline-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.inline-form input{flex:1 1 8rem;min-width:0;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;font:inherit}.inline-form input.qty{flex:0 0 10rem}button{font:inherit;min-height:40px;border:1px solid var(--border);border-radius:10px;padding:.5rem .9rem;background:var(--surface);color:var(--text);cursor:pointer}button:hover:not(:disabled){background:var(--surface-hover)}button:disabled{opacity:.5;cursor:default}button.link{min-height:0;background:transparent;border:0;color:var(--primary);padding:.15rem .3rem}button.link.danger{color:var(--danger)}button.primary,button[type=submit]:not(.secondary):not(.danger){color:#fff;background:var(--primary);border-color:var(--primary)}button.primary:hover:not(:disabled),button[type=submit]:not(.secondary):not(.danger):hover:not(:disabled){background:var(--primary-hover)}button.secondary{color:var(--text);background:var(--surface);border-color:var(--border)}button.danger{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-border)}.items{list-style:none;margin:.5rem 0;padding:0}.items li{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;border-bottom:1px dashed var(--border)}.items li label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.items li.done span{text-decoration:line-through;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.nav{display:flex;gap:1rem}.nav a{color:var(--muted);text-decoration:none}.nav a.active{color:var(--primary);font-weight:600}.link-button{color:var(--primary);text-decoration:none;font-size:.9rem;white-space:nowrap}.card.archived{opacity:.6}.progress-bar{height:6px;background:var(--border);border-radius:999px;overflow:hidden;margin:.5rem 0}.progress-bar span{display:block;height:100%;background:var(--primary)}.template{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0}.template p{margin:.15rem 0 0}.qty-sm{flex:0 0 6rem}.schedule{width:100%;border-collapse:collapse}.schedule th{text-align:left;font-weight:500;color:var(--muted);font-size:.85rem;white-space:nowrap;padding-right:.5rem}.schedule td{padding:.15rem;width:33%}.slot{display:block;width:100%;text-align:center;border:1px solid var(--border);border-radius:8px;padding:.3rem .2rem;background:#fff;color:#0f172a;text-decoration:none;font-size:.9rem;cursor:pointer}.slot.done{background:#eff6ff;border-color:var(--primary);color:var(--primary)}.slot .slot-date{display:block;font-size:.7rem;color:var(--muted)}.exercises{list-style:none;margin:.5rem 0;padding:0}.exercises li{padding:.35rem 0;border-bottom:1px dashed var(--border)}.exercises li.paired{border-top:none;margin-top:-.35rem}.exercise{display:flex;align-items:flex-start;gap:.5rem}.exercise-main{flex:1;display:flex;flex-direction:column}.pair{display:inline-block;min-width:2.4rem;font-size:.7rem;font-weight:700;color:var(--primary);background:#eff6ff;border-radius:999px;padding:.1rem .4rem;text-align:center}.row-actions{white-space:nowrap}.exercise-form{display:flex;flex-wrap:wrap;gap:.4rem}.exercise-form input{flex:1;min-width:6rem;padding:.35rem .5rem;border:1px solid var(--border);border-radius:8px;font:inherit}.exercise-form input.qty-sm{flex:0 0 6rem;min-width:0}.card.paired{border-top:3px solid var(--primary);margin-top:-.5rem}.session-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.session-meta label{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.9rem}.session-meta input{padding:.35rem .5rem;border:1px solid var(--border);border-radius:8px;font:inherit}.energy{display:flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.9rem}.energy-dot{width:1.9rem;padding:.25rem 0;background:#fff;color:var(--muted);border:1px solid var(--border)}.energy-dot.on{background:var(--primary);color:#fff;border-color:var(--primary)}.sets{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0}.set{display:flex;align-items:center;gap:.2rem;border:1px solid var(--border);border-radius:8px;padding:.2rem .35rem}.set-label{font-size:.7rem;color:var(--muted);font-weight:700}.set-input{width:3.2rem;padding:.25rem .3rem;border:none;border-bottom:1px solid var(--border);font:inherit;text-align:center}.set-input:focus{outline:none;border-bottom-color:var(--primary)}.field{display:block;color:var(--muted);font-size:.9rem;margin-bottom:.5rem}.field textarea{display:block;width:100%;margin-top:.2rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;font:inherit;color:#0f172a;resize:vertical}.actions{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}.notes{white-space:pre-wrap;color:var(--muted);font-size:.9rem;margin:0}.progress{width:100%;border-collapse:collapse;font-size:.9rem}.progress th{text-align:left;font-weight:500;color:var(--muted);font-size:.8rem;border-bottom:1px solid var(--border);padding:.25rem .4rem .25rem 0}.progress td{padding:.25rem .4rem .25rem 0;border-bottom:1px dashed var(--border);white-space:nowrap}.progress .bar-cell{width:35%}.progress .bar{display:block;height:8px;background:var(--primary);border-radius:999px;opacity:.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.games-intro,.game-detail-toolbar,.games-result-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.games-intro h1,.game-detail-header h1{margin:.15rem 0 .4rem}.games-eyebrow{margin:0;color:#b45309;font-size:.76rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.games-lead{margin:0;max-width:32rem}.language-switch{display:inline-flex;flex:0 0 auto;padding:.2rem;background:#e2e8f0;border-radius:999px}.language-switch button{min-width:2.6rem;padding:.35rem .55rem;border-radius:999px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:700}.language-switch button.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0f172a24}.game-finder{margin:1.4rem 0;padding:1rem;background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fed7aa;border-radius:14px}.game-search-row{display:flex;gap:.65rem}.game-search{display:flex;flex:1;align-items:center;gap:.4rem;min-width:0;padding:0 .7rem;background:#fff;border:1px solid #fdba74;border-radius:9px;color:var(--muted)}.game-search input{width:100%;min-width:0;padding:.65rem 0;border:0;outline:0;background:transparent;font:inherit}.surprise-button{white-space:nowrap;background:#ea580c}.category-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.category-chips button{padding:.35rem .65rem;border:1px solid #fed7aa;border-radius:999px;background:#ffffffbf;color:#7c2d12;font-size:.78rem}.category-chips button.active{background:#9a3412;border-color:#9a3412;color:#fff}.no-props-filter{display:inline-flex;align-items:center;gap:.45rem;margin-top:.8rem;color:#7c2d12;font-size:.85rem;cursor:pointer}.no-props-filter input{width:1rem;height:1rem;accent-color:#ea580c}.games-result-row{align-items:center;margin-bottom:.75rem;color:#334155;font-size:.9rem}.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.game-card{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:14px;color:#0f172a;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}.game-card:hover{transform:translateY(-2px);border-color:#fb923c;box-shadow:0 10px 24px #0f172a14}.game-card h2{margin:.3rem 0;font-size:1.08rem}.game-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.4}.game-card-image,.game-detail-hero{position:relative;overflow:hidden;background:#fff1c2}.game-card-image img,.game-detail-hero img{display:block;width:100%;height:100%;object-fit:contain}.game-card-image{height:10.5rem}.game-number{position:absolute;top:.65rem;right:.65rem;padding:.2rem .48rem;background:#ffffffe0;border-radius:999px;color:#9a3412;font-size:.72rem;font-weight:750;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.game-card-body{padding:.9rem 1rem 1rem}.game-category{color:#b45309;font-size:.72rem;font-weight:700}.game-facts{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.8rem}.game-facts span{padding:.22rem .45rem;background:#f8fafc;border-radius:999px;color:#475569;font-size:.68rem}.games-empty{grid-column:1/-1;padding:3rem 1rem;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:14px}.games-empty>span{font-size:2.5rem}.games-empty h1,.games-empty h2{margin:.6rem 0 .25rem}.game-detail{max-width:680px;margin:0 auto}.game-detail-toolbar{align-items:center;margin-bottom:1rem}.back-link{color:var(--primary);text-decoration:none}.game-detail-hero{height:min(45vw,23rem);min-height:14rem;border:1px solid #fde68a;border-radius:18px}.game-detail-header{margin:1.25rem 0}.game-detail-summary{margin:0;color:#475569;font-size:1.03rem;line-height:1.55}.game-detail-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.game-detail-facts>div{display:grid;grid-template-columns:auto 1fr;column-gap:.45rem;padding:.7rem;background:#fff;border:1px solid var(--border);border-radius:10px}.game-detail-facts>div>span{grid-row:1/3;align-self:center;font-size:1.1rem}.game-detail-facts small{color:var(--muted);font-size:.66rem}.game-detail-facts strong{font-size:.78rem}.game-detail-section{margin-bottom:1rem;padding:1.1rem 1.25rem;background:#fff;border:1px solid var(--border);border-radius:12px}.game-detail-section h2{margin-bottom:.75rem}.game-detail-section p{margin:0 0 .65rem;line-height:1.55}.game-detail-section p:last-child{margin-bottom:0}.game-detail-section ul{margin:0;padding-left:1.2rem}.game-detail-section li+li{margin-top:.35rem}.game-props{border-left:4px solid #f59e0b}.game-steps{display:grid;gap:.9rem;margin:0;padding:0;list-style:none}.game-steps li{display:grid;grid-template-columns:1.75rem 1fr;gap:.65rem;align-items:start}.game-steps span{display:grid;width:1.75rem;height:1.75rem;place-items:center;background:#fff7ed;border-radius:50%;color:#c2410c;font-size:.78rem;font-weight:750}.game-steps p{margin:0}.example-chips{display:flex;flex-wrap:wrap;gap:.4rem}.example-chips span{padding:.35rem .65rem;background:#eff6ff;border-radius:999px;color:#1d4ed8;font-size:.8rem}.game-callout{display:flex;gap:.75rem}.game-callout .callout-icon{font-size:1.35rem}.game-callout h2{margin-top:.1rem}.variation-callout{background:#f5f3ff;border-color:#ddd6fe}.notes-callout{background:#fffbeb;border-color:#fde68a}.all-games-button{display:block;width:fit-content;margin:1.5rem auto 0;padding:.6rem 1rem;background:var(--primary);border-radius:9px;color:#fff;text-decoration:none}@media(max-width:600px){.games-intro{align-items:flex-start}.game-search-row{flex-direction:column}.surprise-button{width:100%;padding-block:.65rem}.category-chips{flex-wrap:nowrap;margin-inline:-1rem;padding-inline:1rem;overflow-x:auto;scrollbar-width:none}.category-chips button{flex:0 0 auto}.games-grid{grid-template-columns:1fr}.game-card-image{height:11rem}.game-detail-hero{height:14rem;min-height:0;border-radius:14px}.game-detail-facts{grid-template-columns:repeat(2,1fr)}}app-finance .panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;margin-bottom:18px;min-width:0}app-finance .field-label{display:block;font-size:13px;color:#64748b;padding-left:12px;margin-bottom:6px}app-finance .message{padding:12px 16px;border-radius:10px;margin:0 0 16px}app-finance .error-message{background:#fef2f2;color:#b91c1c}app-finance .error-message button{margin:8px}app-finance .success-message{background:#f0fdf4;color:#15803d}app-finance .confirm{background:#fff7ed;border:1px solid #fed7aa;padding:16px;border-radius:12px}app-finance .danger{background:#dc2626}app-finance .summary-note{font-size:12px;color:#64748b;margin-bottom:24px}app-finance .entry-note{color:#64748b;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}
