:root{--color-bg:#ffefdb;--color-surface:#fff;--color-primary:#007380;--color-primary-dark:#005660;--color-secondary:#21bbbb;--color-secondary-dark:#178686;--color-accent:coral;--color-accent-dark:#a54133;--color-accent2:#ffe1d2;--color-accent3:#dcf4f4;--color-text:#123638;--color-text-muted:#4f6e71;--color-border:#ecd9bc;--color-danger:#a54133;--color-warning:#994c30;--color-brand-blue:#4fb3ff;--radius:20px;--shadow:0 4px 16px rgb(var(--rgb-primary)/0.14);--font-heading:"Baloo 2","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--bottom-nav-height:4.75rem;--navbar-height:4.5rem;--page-bg:linear-gradient(180deg,#fff3e2 0%,var(--color-accent2) 130%);--color-on-primary:#fff;--color-on-primary-dark:#fff;--color-on-secondary:#123638;--color-on-secondary-solid:#fff;--color-on-secondary-dark:#fff;--color-on-accent:#fff;--color-on-accent-dark:#fff;--color-on-danger:#fff;--color-solid-muted:#4f6e71;--color-on-solid-muted:#fff;--color-inverse-bg:#123638;--color-inverse-text:#fff;--color-inverse-accent:#ffe1d2;--color-danger-strong:#b42318;--color-gold:#e0a815;--color-hover:rgba(0,0,0,.06);--color-border-strong:#ecd9bc;--color-focus:#ffe1d2;--on-primary-soft:hsla(0,0%,100%,.25);--nav-bg:var(--color-primary);--nav-text:#fff;--nav-text-muted:hsla(0,0%,100%,.75);--nav-border-hover:hsla(0,0%,100%,.6);--overlay-bg:hsla(0,0%,100%,.94);--on-photo-bg:hsla(0,0%,100%,.94);--on-photo-text:#123638;--on-photo-accent:#005660;--photo-free-bg:#178686;--photo-paid-bg:#005660;--photo-unknown-bg:rgba(30,30,30,.6);--rgb-primary:0 115 128;--rgb-secondary:33 187 187;--rgb-accent:255 127 80;--rgb-danger:165 65 51;--rgb-ink:18 54 56;--bw-1:1px;--bw-15:1.5px;color-scheme:light}html[data-theme=sombre]{--color-bg:#0f1f20;--color-surface:#172b2d;--color-primary:#4fd1d1;--color-primary-dark:#8fe3e3;--color-secondary:#2fb8b8;--color-secondary-dark:#5fd6c9;--color-accent:#ff9b7a;--color-accent-dark:#ffa88a;--color-accent2:#3a2a27;--color-accent3:#1f3b3d;--color-text:#e9f4f3;--color-text-muted:#a6c2c1;--color-border:#35585a;--color-danger:#ff9b8f;--color-warning:#ffb08a;--shadow:0 4px 16px rgba(0,0,0,.45);--page-bg:var(--color-bg);--color-on-primary:#0a1718;--color-on-primary-dark:#0a1718;--color-on-secondary:#0a1718;--color-on-secondary-solid:#0a1718;--color-on-secondary-dark:#0a1718;--color-on-accent:#0a1718;--color-on-accent-dark:#0a1718;--color-on-danger:#0a1718;--color-solid-muted:#8fb0b2;--color-on-solid-muted:#0a1718;--color-inverse-bg:#e9f4f3;--color-inverse-text:#0f1f20;--color-inverse-accent:#a54133;--color-danger-strong:#ff9b8f;--color-gold:#f2c14e;--color-hover:hsla(0,0%,100%,.08);--color-border-strong:#6a9496;--color-focus:#6fdede;--on-primary-soft:rgba(10,23,24,.18);--nav-bg:#0a1819;--nav-text:#fff;--nav-text-muted:#b9cfce;--nav-border-hover:#b9cfce;--overlay-bg:rgba(23,43,45,.94);--photo-free-bg:#146e6e;--rgb-primary:0 0 0;--rgb-secondary:0 0 0;--rgb-accent:0 0 0;--rgb-danger:0 0 0;--rgb-ink:0 0 0;color-scheme:dark}html[data-theme=contraste]{--color-bg:#000;--color-surface:#000;--color-primary:#ffd400;--color-primary-dark:#ffd400;--color-secondary:#5cf0f0;--color-secondary-dark:#5cf0f0;--color-accent:#ffd400;--color-accent-dark:#ffd400;--color-accent2:#1a1a1a;--color-accent3:#1a1a1a;--color-text:#fff;--color-text-muted:#e0e0e0;--color-border:#fff;--color-danger:#ff9a90;--color-warning:#ffd400;--shadow:none;--page-bg:#000;--color-on-primary:#000;--color-on-primary-dark:#000;--color-on-secondary:#000;--color-on-secondary-solid:#000;--color-on-secondary-dark:#000;--color-on-accent:#000;--color-on-accent-dark:#000;--color-on-danger:#000;--color-solid-muted:#e0e0e0;--color-on-solid-muted:#000;--color-inverse-bg:#fff;--color-inverse-text:#000;--color-inverse-accent:#8a1c10;--color-danger-strong:#ff9a90;--color-gold:#ffd400;--color-hover:hsla(0,0%,100%,.18);--color-border-strong:#fff;--color-focus:#ffd400;--on-primary-soft:rgba(0,0,0,.2);--nav-bg:#000;--nav-text:#fff;--nav-text-muted:#e0e0e0;--nav-border-hover:#fff;--overlay-bg:#000;--photo-free-bg:#005a5a;--photo-paid-bg:#003c46;--photo-unknown-bg:#262626;--rgb-primary:0 0 0;--rgb-secondary:0 0 0;--rgb-accent:0 0 0;--rgb-danger:0 0 0;--rgb-ink:0 0 0;--bw-1:2px;--bw-15:3px;color-scheme:dark}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--page-bg);color:var(--color-text);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;line-height:1.5}a{color:var(--color-primary-dark);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}.navbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem 1.5rem;background:var(--nav-bg);border-bottom:none;grid-gap:.75rem;gap:.75rem;box-shadow:0 2px 12px rgba(0,0,0,.08);position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-brand{grid-column:1;justify-self:start;font-family:var(--font-heading);font-weight:800;font-size:1.3rem;letter-spacing:.02em;color:var(--nav-text);text-shadow:0 1px 3px rgba(0,0,0,.15)}.navbar-brand:hover{text-decoration:none}.navbar-brand-blue{color:var(--nav-text)}.navbar-brand-orange{color:var(--color-accent)}.landing-brand-name .navbar-brand-blue{color:var(--color-primary-dark)}.navbar-links{grid-column:2;justify-self:center;display:flex;align-items:center;justify-content:center;gap:1.7rem;flex-wrap:wrap;font-size:.88rem}.navbar-link{color:var(--nav-text-muted);font-weight:600;font-size:.9rem;letter-spacing:.01em;white-space:nowrap;padding:.3rem .05rem;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.navbar-link,.navbar-link-icon{display:inline-flex;align-items:center}.navbar-link-icon{margin-right:.35rem}.navbar-link:hover{color:var(--nav-text);text-decoration:none;border-bottom-color:var(--nav-border-hover)}.navbar-link.active{color:var(--nav-text);border-bottom-color:var(--color-accent)}.navbar-user-group{grid-column:3;justify-self:end;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.navbar-user{color:var(--nav-text);opacity:.9;font-size:.85rem;font-weight:600}.navbar-user-menu{position:absolute;top:calc(100% + .5rem);right:0;background:var(--color-surface);border-radius:.6rem;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:.4rem;display:flex;flex-direction:column;gap:.1rem;min-width:10rem;z-index:110}.navbar-user-menu-item{display:block;width:100%;text-align:left;padding:.55rem .7rem;border-radius:.4rem;border:none;background:none;color:var(--color-text,#1f2d3d);font-size:.88rem;font-weight:600;cursor:pointer}.navbar-user-menu-item:hover{background:var(--color-hover);text-decoration:none}@media (max-width:860px){.navbar-brand{grid-column:1;justify-self:start}.navbar-links{display:none}.navbar-user-group{grid-column:3;justify-self:end}}.bottom-nav{display:none}@media (max-width:860px){body{padding-bottom:var(--bottom-nav-height)}.bottom-nav{display:flex;align-items:stretch;justify-content:space-around;position:fixed;left:0;right:0;bottom:0;height:var(--bottom-nav-height);z-index:100;background:var(--color-surface);border-top:var(--bw-1) solid var(--color-border);box-shadow:0 -2px 12px rgba(0,0,0,.08);padding:.35rem .2rem calc(.35rem + env(safe-area-inset-bottom, 0px))}.bottom-nav-item{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.3rem .1rem;border-radius:.7rem;color:var(--color-text-muted);font-weight:700}.bottom-nav-item:hover{text-decoration:none}.bottom-nav-icon{font-size:1.25rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.bottom-nav-label{font-size:.62rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bottom-nav-item.active{color:var(--color-primary);background:var(--color-accent3)}}.podcast-mini-player{position:fixed;left:0;right:0;bottom:0;z-index:99;background:var(--color-surface);border-top:var(--bw-1) solid var(--color-border);box-shadow:0 -2px 12px rgba(0,0,0,.1);padding:.5rem .85rem calc(.5rem + env(safe-area-inset-bottom, 0px))}@media (max-width:860px){.podcast-mini-player{bottom:var(--bottom-nav-height)}}body.has-podcast-player{padding-bottom:4.5rem}@media (max-width:860px){body.has-podcast-player{padding-bottom:calc(var(--bottom-nav-height) + 4.5rem)}}.podcast-mini-player-seek{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;margin:0 0 .5rem;border-radius:999px;background:var(--color-border);cursor:pointer}.podcast-mini-player-seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--color-primary)}.podcast-mini-player-seek::-moz-range-thumb{width:13px;height:13px;border:none;border-radius:50%;background:var(--color-primary)}.podcast-mini-player-info,.podcast-mini-player-row{display:flex;align-items:center;gap:.6rem}.podcast-mini-player-info{min-width:0;flex:1 1 auto;color:inherit;text-decoration:none}.podcast-mini-player-info:hover{text-decoration:none}.podcast-mini-player-image{width:42px;height:42px;object-fit:cover;border-radius:.4rem;flex-shrink:0}.podcast-mini-player-text{display:flex;flex-direction:column;min-width:0}.podcast-mini-player-title{font-weight:700;font-size:.85rem}.podcast-mini-player-show,.podcast-mini-player-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.podcast-mini-player-show{font-size:.74rem;color:var(--color-text-muted)}.podcast-mini-player-controls{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.podcast-mini-player-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:none;border-radius:50%;padding:0;cursor:pointer;color:var(--color-text-muted)}.podcast-mini-player-btn:hover{background:var(--color-accent3)}.podcast-mini-player-play{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:none;background:var(--color-primary);color:var(--color-on-primary);font-size:1rem;cursor:pointer;flex-shrink:0}.podcast-mini-player-play:hover{background:var(--color-primary-dark)}.podcast-mini-player-settings{position:relative;display:inline-flex}.podcast-mini-player-settings-menu{position:absolute;bottom:calc(100% + .5rem);right:0;min-width:170px;background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:.75rem;box-shadow:var(--shadow);padding:.5rem;z-index:1}.podcast-mini-player-settings-title{margin:.1rem .4rem .4rem;font-size:.72rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.podcast-mini-player-settings-option{display:block;width:100%;text-align:left;background:none;border:none;border-radius:.5rem;padding:.4rem .5rem;font-size:.88rem;color:var(--color-text);cursor:pointer}.podcast-mini-player-settings-option:hover{background:var(--color-accent3)}.podcast-mini-player-settings-option-active{color:var(--color-primary);font-weight:700}.podcast-progress-track{width:100%;height:4px;border-radius:999px;background:var(--color-border);margin-top:.4rem;overflow:hidden}.podcast-progress-fill{height:100%;border-radius:999px;background:var(--color-secondary)}.mobile-scrollbar-track{display:none}@media (max-width:860px){.mobile-scrollbar-track{display:block;position:fixed;right:2px;width:20px;z-index:150;touch-action:none;transition:opacity .15s ease}.mobile-scrollbar-thumb{width:8px;margin:0 auto;border-radius:999px;background:var(--color-primary);opacity:.55}}.container{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.page-center{display:flex;align-items:center;justify-content:center;min-height:60vh}h1{font-size:1.9rem;margin-bottom:.25rem;color:var(--color-primary-dark)}h1,h2{font-family:var(--font-heading)}h2{font-size:1.35rem;margin-top:2rem;color:var(--color-text)}h3{font-family:var(--font-heading)}.subtitle{color:var(--color-text-muted);margin-top:0}.card{background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:var(--shadow)}.suggestions-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-top:1.5rem}.suggestions-grid .card{display:flex;flex-direction:column;height:100%;min-width:0}@media (max-width:480px){.suggestions-grid{gap:.6rem}.suggestions-grid .card{padding:.85rem .9rem}.suggestions-grid .card h3{font-size:1rem}.suggestions-grid .card p{font-size:.82rem}.suggestions-grid .card .activity-meta{font-size:.72rem}}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.1rem;gap:1.1rem;margin-top:1.5rem}.entry-card{display:block;padding:1.5rem;border-radius:var(--radius);background:var(--color-surface);border:var(--bw-1) solid var(--color-border);box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease;position:relative;overflow:hidden}.entry-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--color-primary)}.entry-card:hover{transform:translateY(-4px) scale(1.01);text-decoration:none;box-shadow:0 10px 24px rgb(var(--rgb-primary)/.22)}.entry-card .icon{font-size:2rem;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--color-accent3)}.entry-card h3{margin:.65rem 0 .25rem;color:var(--color-text)}.entry-card p{margin:0;color:var(--color-text-muted);font-size:.9rem}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.1rem;gap:1.1rem;margin-top:1.5rem}@media (max-width:620px){.plans-grid{grid-template-columns:1fr 1fr;gap:.6rem}.plans-grid .entry-card{padding:.9rem 1rem}.plans-grid .entry-card h3{font-size:.95rem}.plans-grid .entry-card p{font-size:.8rem}.plans-grid .activity-meta{font-size:.72rem}}.podcasts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.1rem;gap:1.1rem;margin-top:1.5rem}@media (max-width:620px){.podcasts-grid{grid-template-columns:1fr 1fr;gap:.6rem}.podcasts-grid .entry-card{padding:.75rem .85rem}.podcasts-grid .entry-card h3{font-size:.9rem;margin-top:.5rem}.podcasts-grid .entry-card p{font-size:.76rem}.podcasts-grid .activity-meta{font-size:.7rem}}.children-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.1rem;gap:1.1rem;margin-top:1.5rem}@media (max-width:620px){.children-grid{gap:.85rem}.children-grid .card{padding:1.05rem 1.15rem}}.child-editor-toggle{display:none}.child-editor-body{margin-top:0}@media (max-width:860px){.child-editor-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--color-bg);border:var(--bw-15) solid var(--color-border);border-radius:999px;padding:.55rem 1rem;margin-top:.6rem;font-weight:700;font-size:.85rem;color:var(--color-text);cursor:pointer}.child-editor-body{display:none}.child-editor.child-editor-open .child-editor-body{display:block;margin-top:.5rem}}.form{gap:1rem;max-width:420px}.form,.form-field{display:flex;flex-direction:column}.form-field{gap:.35rem}.form-field label{font-size:.9rem;font-weight:700;color:var(--color-text)}input,select,textarea{padding:.65rem .8rem;border-radius:12px;border:var(--bw-15) solid var(--color-border-strong);font-size:1rem;font-family:inherit;background:var(--color-surface);color:var(--color-text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.4rem;border-radius:999px;border:none;font-family:var(--font-heading);font-size:.95rem;font-weight:700;cursor:pointer;background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 12px rgb(var(--rgb-primary)/.35);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 16px rgb(var(--rgb-primary)/.4)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--color-secondary);color:var(--color-on-secondary);box-shadow:0 4px 12px rgb(var(--rgb-secondary)/.32)}.btn-secondary:hover{box-shadow:0 6px 16px rgb(var(--rgb-secondary)/.38)}.btn-white{background:var(--color-surface);color:var(--color-text);border:var(--bw-15) solid var(--color-border);box-shadow:0 4px 12px rgb(var(--rgb-ink)/.08)}.btn-white:hover{box-shadow:0 6px 16px rgb(var(--rgb-ink)/.12)}.btn-ghost{background:transparent;color:var(--color-text-muted);border:var(--bw-15) solid var(--color-border);box-shadow:none}.btn-ghost:hover{background:var(--color-bg);transform:none;box-shadow:none}.chip-group{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.42rem .95rem;border-radius:999px;border:var(--bw-15) solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:.9rem;font-weight:600;color:var(--color-text);transition:transform .1s ease,background .15s ease,color .15s ease}.chip:hover{transform:translateY(-1px)}.chip.selected{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent;box-shadow:0 3px 10px rgb(var(--rgb-primary)/.4)}.chip-icon-only{padding:.5rem;width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.alert{padding:.9rem 1.1rem;border-radius:14px;font-size:.9rem;font-weight:600}.alert-error{color:var(--color-danger)}.alert-error,.alert-warning{background:var(--color-accent2)}.alert-warning{color:var(--color-accent-dark);border:var(--bw-1) solid var(--color-warning)}.alert-info{background:var(--color-accent3);color:var(--color-primary-dark)}.admin-stat-value{font-size:2rem;font-weight:700;color:var(--color-primary);margin:.25rem 0 0;line-height:1.1}.admin-stat-label{font-size:.85rem;color:var(--color-text-muted);margin:0}.admin-bars{display:flex;align-items:flex-end;gap:3px;height:110px;margin-top:1.1rem;overflow-x:auto;padding-bottom:.25rem}.admin-bar{flex:0 0 auto;width:9px;min-height:2px;background:var(--color-secondary);border-radius:3px 3px 0 0}.admin-table-wrap{overflow-x:auto;margin-top:1rem}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table td,.admin-table th{text-align:left;padding:.6rem .75rem;border-bottom:var(--bw-1) solid var(--color-border);white-space:nowrap}.admin-table th{color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.admin-badge{font-size:.72rem;padding:.15rem .5rem}.admin-badge,.tag{display:inline-block;font-weight:700;border-radius:999px;background:var(--color-accent3);color:var(--color-primary-dark)}.tag{font-size:.75rem;padding:.22rem .65rem;border:none;margin:0 .3rem .3rem 0}.tag-highlighted{background:var(--color-secondary);color:var(--color-on-secondary-solid);box-shadow:0 2px 6px rgb(var(--rgb-secondary)/.35)}.family-member-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.75rem}.family-member-row{display:flex;align-items:center;gap:.65rem}.family-member-avatar{flex-shrink:0;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--color-secondary);color:var(--color-on-secondary-solid);font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center}.family-role-chip{display:inline-block;font-size:.7rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;background:var(--color-accent3);color:var(--color-primary-dark)}.family-role-chip.is-parent{background:var(--color-accent2);color:var(--color-accent-dark)}.activity-card h3{margin:0 0 .35rem}.activity-meta{color:var(--color-text-muted);font-size:.85rem;margin-bottom:.5rem}.activity-rating-summary{color:var(--color-accent);font-weight:700;font-size:.88rem;margin:-.15rem 0 .5rem}.activity-rating-empty{color:var(--color-text-muted);font-weight:600;font-size:.78rem;margin:-.15rem 0 .5rem}.activity-hero-photos{display:flex;gap:.5rem;overflow-x:auto;height:160px}.activity-hero-photo{height:100%;width:auto;flex:0 0 auto;border-radius:var(--radius);object-fit:cover;display:block}.activity-hero-photos-caption{margin:.5rem 0 0;font-size:.75rem}.photo-collage{position:relative;height:clamp(240px,64vw,330px);border-radius:var(--radius);background:var(--color-accent3);overflow:hidden}.photo-collage-item{position:absolute;padding:5px;border:0;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;transition:transform .25s ease}.photo-collage-item img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}.photo-collage-item:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.photo-collage-badge{position:absolute;top:8px;left:8px;z-index:20;max-width:calc(100% - 16px);font-size:.68rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;background:var(--on-photo-bg);color:var(--on-photo-text);box-shadow:0 1px 4px rgba(18,54,56,.25);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}@media (prefers-reduced-motion:reduce){.photo-collage-item{transition:none}}.activity-oneliner{margin:0 0 .5rem;font-size:.85rem;color:var(--color-text-muted);min-width:0}.link-button{background:none;border:none;color:var(--color-primary-dark);cursor:pointer;padding:0;font-size:.9rem;text-decoration:underline;font-weight:600}.illustration-banner{display:flex;align-items:center;justify-content:center;border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}.step-list{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.6rem}.step-list li{padding-left:.2rem}.badge-custom{display:inline-block;font-size:.75rem;font-weight:700;color:var(--color-text-muted);margin-left:.5rem;vertical-align:middle}.completion-cta{padding:.85rem 1.7rem;font-size:1.02rem}.badge-pending{background:var(--color-accent-dark);color:var(--color-on-accent-dark)}.badge-pending,.badge-tip{display:inline-block;font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;margin-left:.5rem;vertical-align:middle}.badge-tip{background:var(--color-secondary-dark);color:var(--color-on-secondary-dark)}.done-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:var(--bw-1) solid var(--color-border);font-size:.9rem}.done-row:last-child{border-bottom:none}.icon-button{background:none;border:none;cursor:pointer;font-size:.95rem;padding:.15rem .4rem;border-radius:8px;color:var(--color-text-muted)}.icon-button:hover{background:var(--color-bg)}.sos-faq-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;grid-gap:2rem;gap:2rem;align-items:start;margin-top:1.5rem}.sos-faq-col,.sos-main-col{min-width:0}@media (max-width:860px){.sos-faq-layout{grid-template-columns:1fr;gap:2.5rem}.sos-faq-col{order:2}.sos-main-col{order:1}}.activities-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.1rem;gap:1.1rem;margin-top:1.5rem}.activities-results-grid .card{display:flex;flex-direction:column;height:100%;min-width:0}.activities-results-grid .nearby-card-body{display:flex;flex-direction:column;flex:1 1}@media (max-width:620px){.activities-results-grid{grid-template-columns:1fr 1fr;gap:.6rem}.activities-results-grid .card{padding:.85rem .9rem}.activities-results-grid .card h3{font-size:.95rem}.activities-results-grid .card p{font-size:.8rem}.activities-results-grid .activity-meta{font-size:.72rem}}.nearby-card{padding:0;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.nearby-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgb(var(--rgb-ink)/.14)}a.nearby-card{color:inherit;font-weight:inherit;text-decoration:none;cursor:pointer}.nearby-card-image-wrap{position:relative;width:100%;height:150px;background:linear-gradient(135deg,var(--color-accent3),var(--color-accent2))}.nearby-card-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.nearby-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.4rem}.nearby-badge{position:absolute;top:.6rem;font-size:.7rem;font-weight:700;padding:.28rem .65rem;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.18);line-height:1.2;max-width:calc(50% - .9rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nearby-badge-category{left:.6rem;background:var(--on-photo-bg);color:var(--on-photo-accent)}.nearby-badge-price{right:.6rem;color:#fff}.nearby-badge-price.is-free{background:var(--photo-free-bg)}.nearby-badge-price.is-paid{background:var(--photo-paid-bg)}.nearby-badge-price.is-unknown{background:var(--photo-unknown-bg)}.nearby-card-body{padding:.9rem 1.1rem 1.1rem}.nearby-card-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;color:var(--color-text-muted);font-size:.82rem;margin:.3rem 0 .6rem}.nearby-age-pill{display:inline-block;font-size:.72rem;font-weight:700;color:var(--color-primary-dark);background:var(--color-accent3);padding:.15rem .55rem;border-radius:999px}.nearby-report-btn{display:block;margin:.5rem 0 0 auto;padding:0;border:none;background:none;font-size:.72rem;color:var(--color-text-muted);cursor:pointer;text-decoration:underline}.nearby-report-btn:hover{color:var(--color-primary-dark)}@media (max-width:620px){.nearby-card-image-wrap{height:110px}.nearby-card-placeholder{font-size:1.9rem}.nearby-card-body{padding:.75rem .85rem .9rem}.nearby-badge{font-size:.62rem;padding:.22rem .45rem;top:.4rem;max-width:calc(50% - .65rem)}.nearby-badge-category{left:.4rem}.nearby-badge-price{right:.4rem}}.nearby-filters-bar{display:flex;flex-direction:column;gap:.7rem;margin-top:1.4rem}.nearby-filters-row{display:flex;flex-wrap:wrap;gap:.7rem}.nearby-filters-row .nearby-filter-block{flex:1 1;min-width:220px}.nearby-filter-block{flex:1 1 200px;min-width:180px;background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:14px;padding:.7rem .9rem}.nearby-filter-block-age{flex:0 0 auto;width:100%}.nearby-subfilter+.nearby-subfilter{margin-top:.7rem;padding-top:.6rem;border-top:var(--bw-1) dashed var(--color-border)}.nearby-subfilter-compact label{font-size:.65rem}.nearby-subfilter-compact .chip-group{gap:.35rem}.nearby-subfilter-compact .chip{padding:.24rem .6rem;font-size:.72rem;font-weight:500;border-width:1px}.nearby-subfilter-compact .chip.selected{box-shadow:none}.nearby-report-form{font-size:.78rem}.nearby-report-form .chip-group{gap:.3rem}.nearby-report-form .chip{padding:.22rem .5rem;font-size:.68rem;font-weight:500;border-width:1px}.nearby-report-form input[type=text]{font-size:.75rem;padding:.35rem .5rem}.nearby-report-form .btn{font-size:.72rem;padding:.32rem .6rem}.nearby-filter-block label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);margin-bottom:.4rem}.nearby-filter-block input{border:none;padding:0;width:100%;font-size:.95rem;background:transparent}.nearby-filter-block input:focus{outline:none}.nearby-filter-block input:not([type=range]):not([type=checkbox]):not([type=radio]){box-sizing:border-box;padding-block:.3rem;line-height:1.5;min-height:2rem}.search-submit-button{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:none;background:var(--color-accent3);font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.search-submit-button:hover{background:var(--color-secondary)}.nearby-radius-slider{margin-top:.7rem;padding-top:.6rem;border-top:var(--bw-1) dashed var(--color-border)}.nearby-radius-slider-header{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--color-text);margin-bottom:.35rem}.nearby-filter-block input[type=range]:disabled{opacity:.4}.nearby-radius-unlimited{display:flex;align-items:center;gap:.4rem;margin-top:1.1rem;font-size:.75rem;color:var(--color-text-muted);cursor:pointer}.nearby-radius-unlimited input[type=checkbox]{width:auto;margin:0;cursor:pointer;flex-shrink:0}.nearby-radius-unlimited span{margin-left:.35rem}.nearby-filter-block input[type=range]{width:100%;height:6px;border-radius:999px;background:var(--color-accent3);accent-color:var(--color-primary);cursor:pointer;display:block;margin:0}.nearby-filter-block input[type=range]::-webkit-slider-thumb{width:18px;height:18px}.nearby-filter-block input[type=range]::-moz-range-thumb{width:18px;height:18px;border:none}.nearby-suggest-list{position:absolute;top:100%;left:0;right:0;margin-top:.4rem;background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:12px;box-shadow:var(--shadow);overflow-y:auto;max-height:240px;z-index:20}.nearby-suggest-item{display:block;width:100%;text-align:left;padding:.55rem .8rem;background:none;border:none;border-bottom:var(--bw-1) solid var(--color-border);font-size:.85rem;color:var(--color-text);cursor:pointer}.nearby-suggest-item:last-child{border-bottom:none}.nearby-suggest-item:focus-visible,.nearby-suggest-item:hover{background:var(--color-accent3);outline:none}.filter-dropdown{position:relative}.filter-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;background:var(--color-bg);border:var(--bw-15) solid var(--color-border);border-radius:999px;padding:.45rem .9rem;font-size:.85rem;font-weight:600;color:var(--color-text);cursor:pointer}.filter-dropdown-clear{position:absolute;top:-.35rem;right:-.35rem;width:22px;height:22px;font-size:.85rem;box-shadow:var(--shadow)}.filter-dropdown-clear,.filter-dropdown-clear-inline{border-radius:50%;border:none;background:var(--color-solid-muted);color:var(--color-on-solid-muted);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.filter-dropdown-clear-inline{width:20px;height:20px;font-size:.8rem;flex-shrink:0}.filter-dropdown-panel{top:100%;right:0;margin-top:.5rem;padding:.8rem;z-index:20}.filter-dropdown-panel,.photo-add-menu{position:absolute;left:0;background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:12px;box-shadow:var(--shadow)}.photo-add-menu{top:calc(100% + .4rem);z-index:5;display:flex;flex-direction:column;gap:.3rem;padding:.45rem;min-width:220px}.photo-add-menu-option{display:flex;align-items:center;gap:.45rem;padding:.55rem .7rem;border-radius:8px;border:none;background:transparent;color:var(--color-text);font-family:var(--font-heading);font-size:.88rem;font-weight:600;text-align:left;cursor:pointer}.photo-add-menu-option:hover{background:var(--color-bg)}.nearby-category-picker{display:flex;gap:.7rem;overflow-x:auto;padding:.3rem .1rem .7rem;margin-top:1.3rem;scrollbar-width:thin}.nearby-category-tile{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:86px;padding:.7rem .4rem .6rem;border-radius:16px;border:2px solid transparent;background:var(--color-surface);box-shadow:var(--shadow);cursor:pointer;text-align:center;transition:transform .12s ease,border-color .12s ease,background .12s ease}.nearby-category-tile:hover{transform:translateY(-2px)}.nearby-category-tile .emoji{font-size:1.9rem;line-height:1}.nearby-category-tile .label{font-size:.7rem;font-weight:700;color:var(--color-text-muted);line-height:1.15}.nearby-category-tile.active{border-color:var(--color-primary);background:var(--color-accent3)}.nearby-category-tile.active .label{color:var(--color-primary-dark)}@media (max-width:620px){.nearby-category-tile{width:74px;padding:.55rem .3rem .5rem}.nearby-category-tile .emoji{font-size:1.6rem}.nearby-category-tile .label{font-size:.65rem}}.nearby-view-toggle{display:inline-flex;gap:.25rem;background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:999px;padding:.25rem;margin-top:1.2rem}.nearby-view-toggle button{border:none;background:none;padding:.45rem 1rem;border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--color-text-muted)}.nearby-view-toggle button.active{background:var(--color-primary);color:var(--color-on-primary)}.nearby-map-wrap{position:relative;margin-top:1.5rem}.nearby-map{width:100%;height:520px;border-radius:var(--radius);overflow:hidden;border:var(--bw-1) solid var(--color-border);box-shadow:var(--shadow)}@media (max-width:620px){.nearby-map{height:420px}}.nearby-map-loading{position:absolute;top:.9rem;right:.9rem;z-index:500;background:var(--overlay-bg);color:var(--color-text);font-size:.78rem;font-weight:600;padding:.4rem .8rem;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.2)}.nearby-map-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.7rem;font-size:.8rem;color:var(--color-text-muted)}.nearby-map-legend-item{display:inline-flex;align-items:center;gap:.35rem}.nearby-map-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.nearby-map-pin span{display:block;width:100%;height:100%;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.4)}.nearby-map-pin-home span{border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.45)}.nearby-map-pin-live span{border:3px solid #fff;box-shadow:0 0 0 4px rgba(26,115,232,.25),0 1px 6px rgba(0,0,0,.45)}.criteria-modal-backdrop{position:fixed;inset:0;background:rgb(var(--rgb-ink)/.45);display:flex;align-items:center;justify-content:center;padding:1.2rem;overflow-y:auto;z-index:1000}.criteria-modal{position:relative;width:100%;max-width:420px;max-height:100%;overflow-y:auto;margin:auto}.criteria-modal-close{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);font-size:1.1rem;line-height:1;cursor:pointer;border-radius:999px}.criteria-modal-close:hover{background:var(--color-accent3);color:var(--color-text)}.criteria-wheels{display:flex;flex-wrap:nowrap;gap:.5rem}.wheel-frame{position:relative;flex:1 1;min-width:0;height:160px;border-radius:16px;background:var(--color-accent3);border:var(--bw-1) solid var(--color-border)}.wheel-indicator{position:absolute;left:5px;right:5px;top:50%;height:50px;transform:translateY(-50%);background:var(--color-surface);border-radius:11px;border:var(--bw-1) solid var(--color-border);box-shadow:inset 0 1px 4px rgba(0,0,0,.08);pointer-events:none}.wheel-track{position:relative;height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wheel-track:active{cursor:-webkit-grabbing;cursor:grabbing}.wheel-track::-webkit-scrollbar{display:none}.wheel-pad{height:55px;scroll-snap-align:none}.wheel-item{height:50px;width:100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;background:none;border:none;font:inherit;cursor:pointer;opacity:.4;transform:scale(.8);transition:opacity .18s ease,transform .18s ease,color .18s ease;color:var(--color-text-muted)}.wheel-item.current{opacity:1;transform:scale(1.05);color:var(--color-primary)}.wheel-emo{font-size:1.55rem;line-height:1}.criteria-summary-pill{margin:.9rem 0 0;padding:.7rem .9rem;border-radius:999px;background:var(--color-accent3);color:var(--color-text);font-weight:700;font-size:.88rem;line-height:1.45;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.criteria-always-use{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.78rem;color:var(--color-text-muted);text-align:center;cursor:pointer}.criteria-always-use input{width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0}@media (prefers-reduced-motion:reduce){.wheel-item{transition:none}}.home-stats{margin-top:1.6rem}.home-stats-title{font-size:1.05rem;margin:0 0 .9rem}.home-stats-card{margin-bottom:1.1rem;padding:.9rem 1rem}.home-stats-card-title{font-family:var(--font-heading);margin:0 0 .4rem;font-weight:600}.home-stats-card-count-line{margin:0 0 .7rem}.home-stats-card-count{border:none;font-family:var(--font-body,inherit);font-size:.72rem;font-weight:700;color:var(--color-text-muted);background:var(--color-accent3);border-radius:999px;padding:.18rem .55rem;white-space:nowrap;cursor:pointer}.home-stats-card-count:hover{background:var(--color-secondary);color:var(--color-on-secondary-solid)}.home-stats-card-members-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--color-text)}.home-stats-children-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.1rem;gap:1.1rem}.home-stats-section-label{margin:0 0 .5rem;font-size:.8rem;font-weight:700;color:var(--color-text-muted)}.home-stats-divider{border:none;border-top:var(--bw-1) solid var(--color-border);margin:1rem 0}.home-stats-skills-toggle{display:inline-block;margin-top:.6rem;font-size:.82rem}.home-favorites-section{margin-top:1.6rem}.home-favorite-tiles-row{display:flex;gap:.75rem}.home-favorite-tile{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;aspect-ratio:1.6;max-height:110px;padding:.75rem;border-radius:var(--radius,12px);border:2px solid transparent;cursor:pointer;font-family:inherit;text-align:center}.home-favorite-tile-heart{background:var(--color-accent2);color:var(--color-accent-dark)}.home-favorite-tile-heart.active{border-color:var(--color-accent-dark)}.home-favorite-tile-later{background:var(--color-accent3);color:var(--color-primary-dark)}.home-favorite-tile-later.active{border-color:var(--color-primary-dark)}.home-favorite-tile-icon{font-size:1.5rem;line-height:1}.home-favorite-tile-label{font-size:.85rem;font-weight:700}.home-favorite-tile-count{font-size:.72rem;font-weight:600;opacity:.8}.favorites-pill-bar{display:flex;gap:.25rem;background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:999px;box-shadow:var(--shadow);padding:.35rem}.favorites-pill{flex:1 1;display:flex;align-items:center;justify-content:center;gap:.4rem;border:none;background:transparent;color:var(--color-text-muted);font-family:inherit;font-weight:600;font-size:.78rem;padding:.6rem .7rem;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.favorites-pill.active{background:var(--color-primary);color:var(--color-on-primary);font-weight:700}.favorites-pill-icon{font-size:1rem;line-height:1}.favorites-pill-count{font-size:.68rem;font-weight:800;padding:.05rem .45rem;border-radius:999px;background:var(--color-accent2);color:var(--color-accent-dark);line-height:1.4}.favorites-pill.active .favorites-pill-count{background:var(--on-primary-soft);color:var(--color-on-primary)}@media (max-width:560px){.favorites-pill{padding:.55rem .3rem;gap:.25rem}.favorites-pill-label{display:none}.favorites-pill-count{font-size:.62rem;padding:.04rem .38rem}}.home-favorites-row{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.25rem}.home-favorite-card{flex:0 0 auto;width:128px;display:flex;flex-direction:column;gap:.4rem;padding:.6rem;border-radius:var(--radius,12px);background:var(--color-surface);border:var(--bw-1) solid var(--color-border);color:inherit;text-decoration:none}.home-favorite-card-title{font-family:var(--font-heading);font-size:.78rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-badges-section{margin-top:1.6rem}.quest-collection-card{display:flex;flex-direction:column}.quest-row{display:flex;align-items:center;gap:.8rem;padding:.35rem 0}.quest-row+.quest-row{margin-top:.35rem;padding-top:.9rem;border-top:var(--bw-1) dashed var(--color-border)}.quest-row-icon{flex:none;width:40px;height:40px;border-radius:50%;background:var(--color-accent3);display:flex;align-items:center;justify-content:center;font-size:1.15rem}.quest-row-body{flex:1 1;min-width:0}.quest-row-title{font-family:var(--font-heading);font-weight:700;font-size:.85rem;color:var(--color-text);margin:0 0 .4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quest-row-dots{display:flex;flex-wrap:wrap;gap:.3rem}.quest-row-dot{width:12px;height:12px;border-radius:50%;background:var(--color-border);flex:none}.quest-row-dot.hit{background:var(--color-secondary)}.quest-row.is-unlocked .quest-row-dot.hit{background:var(--color-gold)}.quest-row-trophy{position:relative;flex:none;font-size:1.4rem;filter:grayscale(1) opacity(.4);display:inline-block;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.quest-row.is-unlocked .quest-row-trophy{filter:none}.quest-row.is-celebrating .quest-row-trophy{transform:scale(1.45) rotate(-8deg)}.quest-row-confetti{position:absolute;inset:0;pointer-events:none}.quest-row-confetti i{position:absolute;top:50%;left:50%;width:4px;height:8px;border-radius:1px;opacity:0;font-style:normal;animation:quest-confetti-burst .8s ease-out forwards}.quest-row-confetti i:first-child{background:var(--color-accent);--dx:-20px;--dy:-16px}.quest-row-confetti i:nth-child(2){background:var(--color-secondary);--dx:4px;--dy:-24px;animation-delay:.03s}.quest-row-confetti i:nth-child(3){background:var(--color-gold);--dx:22px;--dy:-12px;animation-delay:.06s}.quest-row-confetti i:nth-child(4){background:var(--color-primary);--dx:-14px;--dy:14px;animation-delay:.02s}.quest-row-confetti i:nth-child(5){background:var(--color-accent-dark);--dx:12px;--dy:18px;animation-delay:.08s}.quest-row-confetti i:nth-child(6){background:var(--color-secondary-dark);--dx:-2px;--dy:-28px;animation-delay:.1s}@keyframes quest-confetti-burst{0%{opacity:1;transform:translate(0) rotate(0deg)}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(220deg)}}@media (prefers-reduced-motion:reduce){.quest-row.is-celebrating .quest-row-trophy{transform:none;transition:none}.quest-row-confetti{display:none}}@media (max-width:480px){.quest-row-icon{width:34px;height:34px;font-size:1rem}.quest-row-title{font-size:.78rem}.quest-row-dot{width:10px;height:10px}.quest-row-trophy{font-size:1.2rem}}.link-time-row{display:flex;align-items:center;gap:1rem}.link-time-chart-wrap{flex:0 1 38%;min-width:0}.link-time-celebrate{flex:1 1;min-width:0}@media (max-width:480px){.link-time-row{flex-wrap:wrap}.link-time-celebrate,.link-time-chart-wrap{flex-basis:100%}}.link-time-heart-row{display:flex;align-items:center;gap:.7rem}.link-time-heart-icon{flex:none;width:30px;height:30px}@keyframes link-time-heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}45%{transform:scale(1.12)}60%{transform:scale(1)}}.link-time-heart-icon svg{animation:link-time-heartbeat 2.4s ease-in-out infinite;transform-origin:center}@media (prefers-reduced-motion:reduce){.link-time-heart-icon svg{animation:none}}.link-time-celebrate-line{margin:0;font-size:.86rem;line-height:1.4;color:var(--color-primary-dark)}.link-time-celebrate-line strong{color:var(--color-primary-dark);font-weight:800}.link-time-celebrate-year{margin:.3rem 0 0;font-size:.72rem;color:var(--color-text-muted)}.link-time-wave{display:flex;flex-direction:column;gap:.25rem}.link-time-wave-svg-wrap{position:relative;touch-action:none}.link-time-wave-tooltip{position:absolute;bottom:calc(100% + 4px);transform:translateX(-50%);display:flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:999px;background:var(--color-primary-dark);color:var(--color-on-primary-dark);font-size:.68rem;white-space:nowrap;box-shadow:var(--shadow);pointer-events:none;z-index:1}.link-time-wave-tooltip-day{opacity:.85;text-transform:capitalize}.link-time-wave-tooltip-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.link-time-wave-days{display:flex;justify-content:space-between}.link-time-chart-day{font-size:.58rem;color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.skill-breakdown{display:flex;flex-direction:column;gap:.7rem}.skill-breakdown-row{display:flex;flex-direction:column;gap:.3rem}.skill-breakdown-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.skill-breakdown-label{font-size:.82rem;text-transform:capitalize;line-height:1.3}.skill-breakdown-row.is-goal .skill-breakdown-label{font-weight:800;color:var(--color-primary-dark)}.skill-breakdown-row.is-goal .skill-breakdown-pct{color:var(--color-primary-dark)}.skill-breakdown-goal-tag{margin-left:.3rem;font-size:.72rem}.skill-breakdown-bar-track{height:8px;border-radius:999px;background:var(--color-accent3);overflow:hidden}.skill-breakdown-bar-fill{height:100%;border-radius:999px;background:var(--color-primary)}.skill-breakdown-pct{font-size:.78rem;font-weight:700;color:var(--color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.community-icon-btn{width:2.25rem;height:2.25rem;border-radius:50%;border:var(--bw-15) solid var(--color-border);background:var(--color-surface);font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.community-digest-strip{display:flex;gap:1rem;flex-wrap:wrap;background:var(--color-accent3);border-radius:999px;padding:.5rem 1.1rem;font-size:.78rem;font-weight:700;color:var(--color-primary-dark)}.community-segments{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.15rem}.community-segment{flex:1 0 auto;white-space:nowrap;font-family:var(--font-heading);font-weight:700;font-size:.82rem;padding:.5rem .95rem;border-radius:999px;border:var(--bw-15) solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.community-segment.active{background:var(--color-primary);border-color:transparent;color:var(--color-on-primary)}.community-theme-toggle{display:inline-flex;align-items:center;gap:.3rem;background:var(--color-surface);border:var(--bw-15) solid var(--color-border);border-radius:999px;padding:.45rem .95rem;font-weight:700;font-size:.8rem;color:var(--color-text);cursor:pointer}.advice-card-tip{background:var(--color-accent2);border-color:var(--color-accent-dark)}.community-mode-toggle{display:flex;gap:.5rem}.community-mode-btn{flex:1 1;padding:.65rem 1rem;border-radius:999px;border:var(--bw-15) solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-heading);font-weight:700;font-size:.9rem;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.community-mode-btn.active{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent;box-shadow:0 3px 10px rgb(var(--rgb-primary)/.35)}.community-fab{position:fixed;right:1.25rem;bottom:1.5rem;width:3.5rem;height:3.5rem;border-radius:50%;border:none;background:var(--color-accent);color:var(--color-on-accent);font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgb(var(--rgb-danger)/.4);z-index:90}@media (max-width:860px){.community-fab{bottom:calc(var(--bottom-nav-height) + 1.1rem)}}.community-composer-backdrop{position:fixed;inset:0;background:rgb(var(--rgb-ink)/.4);z-index:200}.community-composer-sheet{position:fixed;left:0;right:0;bottom:0;max-height:82vh;overflow-y:auto;background:var(--color-surface);border-radius:22px 22px 0 0;padding:1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 0px));box-shadow:0 -8px 24px rgb(var(--rgb-ink)/.22);z-index:210}@media (min-width:640px){.community-composer-sheet{left:50%;right:auto;width:100%;max-width:560px;transform:translateX(-50%)}}.advice-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;width:100%;background:none;border:none;padding:0;margin:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.advice-card-header-text{min-width:0}.advice-card-header h3{margin:.4rem 0 0}.advice-card-chevron{display:none;flex-shrink:0;font-size:.75rem;color:var(--color-text-muted);margin-top:.35rem}.advice-card-body{margin-top:0}@media (max-width:860px){.advice-card{padding:.9rem 1.05rem}.advice-card-chevron{display:block}.advice-card-body{display:none}.advice-card.advice-expanded .advice-card-body{display:block;margin-top:.75rem}.advice-card-header h3{font-size:1rem}}.landing-hero{padding-top:1rem}.landing-brand-name{font-family:var(--font-heading);text-align:center;margin:0 0 .75rem;font-size:2.6rem;font-weight:800;letter-spacing:.03em;color:var(--color-primary-dark)}@media (max-width:560px){.landing-brand-name{font-size:1.9rem}}.landing-feature-card{text-align:center}.landing-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;background:var(--color-accent3);color:var(--color-primary);font-size:1.4rem}.landing-closing-cta{background:var(--color-accent2);border-color:var(--color-accent2)}@media (max-width:560px){.landing-hero h1{font-size:1.55rem!important}}.find-top-actions{display:flex;gap:.75rem;margin:.75rem 0 1.4rem;flex-wrap:wrap}.find-action-btn{flex:1 1 200px}.find-action-propose{background:var(--color-secondary);color:var(--color-on-secondary);box-shadow:0 4px 12px rgb(var(--rgb-secondary)/.32)}.find-action-propose:hover{box-shadow:0 6px 16px rgb(var(--rgb-secondary)/.38)}.find-action-surprise{background:var(--color-accent);color:var(--color-on-accent);box-shadow:0 4px 12px rgb(var(--rgb-accent)/.35)}.find-action-surprise:hover{box-shadow:0 6px 16px rgb(var(--rgb-accent)/.42)}.home-surprise-relaunch{display:flex;width:-moz-fit-content;width:fit-content;margin:.9rem auto 0}@media (max-width:560px){.find-top-actions{flex-direction:column}.find-action-btn{flex:0 0 auto;width:100%}}.pioche-panel{margin-top:1.25rem;padding:1.5rem 1.25rem 2rem;border-radius:calc(var(--radius) + 8px);background:linear-gradient(180deg,var(--color-accent3),var(--color-surface) 65%);box-shadow:var(--shadow)}.pioche-subtitle{font-size:.88rem}.pioche-weather-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.pioche-weather-pill{padding:.5rem 1rem;border-radius:999px;border:var(--bw-15) solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:.9rem;font-weight:700;color:var(--color-text);transition:transform .1s ease,background .15s ease,color .15s ease}.pioche-weather-pill:hover{transform:translateY(-1px)}.pioche-weather-pill.selected{background:var(--color-accent);color:var(--color-on-accent);border-color:transparent;box-shadow:0 3px 10px rgb(var(--rgb-accent)/.4)}.pioche-refine-toggle{display:block;margin:.75rem auto 0;background:none;border:none;padding:0;color:var(--color-primary-dark);font-weight:700;font-size:.85rem;cursor:pointer}.pioche-refine-box{margin:.75rem auto 0;max-width:420px;background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:var(--radius);padding:1rem 1.1rem}.pioche-empty{text-align:center;margin-top:1.25rem}.pioche-flip-outer{display:flex;flex-direction:column;align-items:center;margin-top:1.5rem;perspective:1400px}.pioche-flip-card{position:relative;width:100%;max-width:320px;min-height:380px;transform-style:preserve-3d;transition:transform .52s cubic-bezier(.4,.15,.2,1)}.pioche-flip-card.flipped{transform:rotateY(180deg)}.pioche-flip-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:calc(var(--radius) + 4px);box-shadow:0 10px 26px rgb(var(--rgb-primary)/.28);overflow:hidden}.pioche-flip-back{background:linear-gradient(150deg,var(--color-primary),var(--color-secondary));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;color:var(--color-on-primary)}.pioche-flip-back-sparkle{font-size:3.6rem}.pioche-flip-back-label{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;opacity:.85}.pioche-flip-front{transform:rotateY(180deg);background:var(--color-surface);border:var(--bw-1) solid var(--color-border)}.pioche-flip-front-inner{height:100%;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;justify-content:center;text-align:center}.pioche-flip-front-inner h3{font-size:1.15rem}.pioche-badge-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.2rem 0 .5rem}.pioche-badge{background:var(--color-accent3);color:var(--color-primary-dark);font-size:.78rem;font-weight:700;padding:.25rem .65rem;border-radius:999px}.pioche-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.75rem}.pioche-actions .btn{white-space:nowrap;flex:0 0 auto}.pioche-icon-btn{font-size:.92rem;line-height:1}.pioche-oneliner{margin:0 0 .6rem;padding:0 .5rem;font-size:.82rem;color:var(--color-text-muted);text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0}.pioche-draw-btn{margin-top:1.5rem}@media (max-width:480px){.pioche-flip-back-sparkle{font-size:3rem}}@media (max-width:860px){.pioche-page{display:flex;flex-direction:column;min-height:calc(100dvh - var(--navbar-height) - var(--bottom-nav-height));padding-top:.85rem;padding-bottom:.5rem}.pioche-page h1{margin:0;font-size:1.25rem}.pioche-page .pioche-subtitle{margin:.2rem 0 0;font-size:.78rem}.pioche-page .pioche-panel{flex:1 1;min-height:0;display:flex;flex-direction:column;margin-top:.65rem;padding:.85rem .8rem .75rem}.pioche-page .pioche-refine-box,.pioche-page .pioche-refine-toggle,.pioche-page .pioche-weather-row{flex:0 0 auto}.pioche-page .pioche-flip-outer{flex:1 1;min-height:0;margin-top:.6rem}.pioche-page .pioche-flip-card{flex:1 1;min-height:0;max-height:100%;width:100%;max-width:min(300px,86vw)}.pioche-page .pioche-flip-front-inner{padding:.75rem .9rem}.pioche-page .pioche-flip-front-inner h3{font-size:1rem;margin:.4rem 0 .2rem}.pioche-page .pioche-badge-row{margin:.1rem 0 .35rem}.pioche-page .pioche-actions{margin-top:.5rem}.pioche-page .pioche-draw-btn{flex:0 0 auto;margin-top:.85rem}}.swipe-stage{align-items:center;margin-top:1.5rem;overflow-x:clip}.swipe-card,.swipe-stage{display:flex;flex-direction:column}.swipe-card{position:relative;width:100%;max-width:320px;min-height:340px;background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:calc(var(--radius) + 4px);box-shadow:0 10px 26px rgb(var(--rgb-primary)/.28);overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:-webkit-grab;cursor:grab;transition:transform .22s ease-out;animation:swipe-card-in .25s ease-out}.swipe-card.dragging{transition:none;cursor:-webkit-grabbing;cursor:grabbing}.swipe-card:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}.swipe-card img{-webkit-user-drag:none;pointer-events:none}@keyframes swipe-card-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.swipe-card-inner{flex:1 1;min-height:0;overflow-y:auto;touch-action:none;padding:1.1rem;display:flex;flex-direction:column;justify-content:center;text-align:center}.swipe-card-inner h3{font-size:1.15rem}.swipe-badge{position:absolute;top:.8rem;z-index:2;padding:.3rem .7rem;border-radius:999px;font-family:var(--font-heading);font-weight:700;font-size:.85rem;pointer-events:none;opacity:0}.swipe-badge-left{right:.8rem;background:var(--color-primary);color:var(--color-on-primary)}.swipe-badge-right{left:.8rem;background:var(--color-accent);color:var(--color-on-accent)}.swipe-hint{display:flex;justify-content:space-between;gap:1rem;width:100%;max-width:320px;min-height:1.4rem;margin:.7rem 0 0;font-size:.78rem;font-weight:700;color:var(--color-text-muted)}.swipe-toast{margin:0 auto;color:var(--color-primary-dark)}.pioche-refine-box{max-height:60vh;max-height:60dvh;overflow-y:auto}@media (prefers-reduced-motion:reduce){.swipe-card{animation:none;transition:none}}@media (max-width:860px){.pioche-page .swipe-stage{flex:1 1;min-height:0;margin-top:.6rem}.pioche-page .swipe-card{flex:1 1;min-height:0;max-height:100%;max-width:min(300px,86vw)}.pioche-page .swipe-card-inner{padding:.75rem .9rem}.pioche-page .swipe-card-inner h3{font-size:1rem;margin:.4rem 0 .2rem}.pioche-page .swipe-hint{max-width:min(300px,86vw)}}.advice-card-byline,.advice-card-preview{display:none}@media (max-width:860px){.advice-card-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.3rem;font-size:.85rem;color:var(--color-text-muted);overflow:hidden}.advice-card-byline{display:flex;align-items:center;gap:.4rem;margin-top:.4rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.advice-card.advice-expanded .advice-card-byline,.advice-card.advice-expanded .advice-card-preview{display:none}}.community-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;margin:0;padding:.35rem;list-style:none;background:var(--color-surface);border:var(--bw-1) solid var(--color-border);border-radius:14px;box-shadow:var(--shadow)}.community-suggest-title{padding:.2rem .6rem .3rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.community-suggest-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.55rem .6rem;border:none;border-radius:10px;background:none;font:inherit;font-size:.92rem;font-weight:600;color:var(--color-text);text-align:left;cursor:pointer}.community-suggest-item.active,.community-suggest-item:hover{background:var(--color-accent3)}.community-suggest-count{flex-shrink:0;font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.badge-kind{display:inline-block;font-size:.75rem;font-weight:700;padding:.22rem .65rem;border-radius:999px;color:var(--color-on-accent);margin:0 .3rem .3rem 0}.badge-kind-tip{background:var(--color-accent)}.badge-kind-question{background:var(--color-secondary-dark);color:var(--color-on-secondary-dark)}.advice-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.advice-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:50%;border:var(--bw-15) solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.advice-icon-btn:focus-visible,.advice-icon-btn:hover{background:var(--color-accent3);color:var(--color-primary-dark);border-color:var(--color-secondary)}.advice-icon-btn-danger:focus-visible,.advice-icon-btn-danger:hover{background:var(--color-accent2);color:var(--color-danger);border-color:var(--color-danger)}.confirm-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgb(var(--rgb-ink)/.45);z-index:300}.confirm-modal{width:100%;max-width:420px;max-height:90dvh;overflow-y:auto;background:var(--color-surface);border-radius:var(--radius);padding:1.25rem;box-shadow:0 12px 32px rgb(var(--rgb-ink)/.3)}.confirm-modal-wide{max-width:560px}.confirm-modal-title{margin:0;font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--color-text)}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.1rem}.btn-danger{background:var(--color-danger);color:var(--color-on-danger);box-shadow:0 4px 12px rgb(var(--rgb-danger)/.3)}.btn-danger:hover{box-shadow:0 6px 16px rgb(var(--rgb-danger)/.38)}@media (max-width:860px){.container{padding-top:.35rem}h1{line-height:1.15}.community-segments{gap:.25rem}.community-segment{font-size:.72rem;padding:.5rem .4rem;text-align:center}}@media (max-width:380px){.community-segment{font-size:.66rem;padding:.5rem .3rem}}.favorites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.favorites-tile{display:flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.4rem .65rem;border:var(--bw-15) solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 4px 12px rgb(var(--rgb-primary)/.1);color:var(--color-text);font-family:inherit;font-weight:700;font-size:.82rem;line-height:1.2;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.favorites-tile-icon{flex-shrink:0;font-size:1.05rem;line-height:1}.favorites-tile-label{flex:1 1;min-width:0}.favorites-tile-count{flex-shrink:0;font-size:.7rem;font-weight:800;padding:0 .45rem;border-radius:999px;background:var(--color-accent2);color:var(--color-accent-dark);line-height:1.5}.favorites-tile.active{background:var(--color-primary);border-color:transparent;color:var(--color-on-primary)}.favorites-tile.active .favorites-tile-count{background:var(--on-primary-soft);color:var(--color-on-primary)}.favorites-tile:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}@media (min-width:700px){.favorites-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.quest-refresh-note{margin:.5rem 0 0;padding-top:.5rem;border-top:var(--bw-1) dashed var(--color-border);font-size:.78rem;text-align:center;color:var(--color-text-muted,#6b7280)}.activity-card{position:relative}.activity-remove-btn{position:absolute;top:.6rem;right:.6rem;width:1.7rem;height:1.7rem;border-radius:999px;border:var(--bw-1) solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.8rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.activity-remove-btn:hover{color:var(--color-danger-strong);border-color:var(--color-danger-strong)}.activity-remove-btn:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.favorites-undo-bar{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:.9rem;max-width:calc(100vw - 2rem);white-space:nowrap;padding:.6rem .9rem;border-radius:999px;background:var(--color-inverse-bg);color:var(--color-inverse-text);font-size:.85rem;box-shadow:0 8px 24px rgba(0,0,0,.22)}.favorites-undo-bar button{background:none;border:none;padding:0;color:var(--color-inverse-accent);font-weight:700;font-size:.85rem;cursor:pointer}html[data-theme=contraste] :focus-visible,html[data-theme=sombre] :focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}html[data-theme=contraste] a:not(.btn):not(.navbar-brand):not(.navbar-link):not(.bottom-nav-item):not(.chip){text-decoration:underline;text-underline-offset:.18em}html[data-theme=contraste] .btn,html[data-theme=contraste] .btn-danger,html[data-theme=contraste] .btn-secondary,html[data-theme=contraste] .community-fab,html[data-theme=contraste] .filter-dropdown-clear,html[data-theme=contraste] .filter-dropdown-clear-inline,html[data-theme=contraste] .find-action-propose,html[data-theme=contraste] .find-action-surprise,html[data-theme=contraste] .podcast-mini-player-play,html[data-theme=contraste] .swipe-badge-left,html[data-theme=contraste] .swipe-badge-right{border:3px solid var(--color-border-strong);box-shadow:none}html[data-theme=contraste] .btn-danger:hover,html[data-theme=contraste] .btn-secondary:hover,html[data-theme=contraste] .btn:hover{box-shadow:none;text-decoration:none}html[data-theme=contraste] .admin-badge,html[data-theme=contraste] .alert-error,html[data-theme=contraste] .alert-info,html[data-theme=contraste] .badge-kind,html[data-theme=contraste] .badge-pending,html[data-theme=contraste] .badge-tip,html[data-theme=contraste] .community-composer-sheet,html[data-theme=contraste] .community-digest-strip,html[data-theme=contraste] .confirm-modal,html[data-theme=contraste] .criteria-summary-pill,html[data-theme=contraste] .family-role-chip,html[data-theme=contraste] .navbar-user-menu,html[data-theme=contraste] .nearby-age-pill,html[data-theme=contraste] .nearby-badge,html[data-theme=contraste] .pioche-badge,html[data-theme=contraste] .pioche-panel,html[data-theme=contraste] .tag-highlighted{border:var(--bw-1) solid var(--color-border-strong)}html[data-theme=contraste] .bottom-nav-item.active{outline:2px solid var(--color-primary);outline-offset:-4px}html[data-theme=contraste] .navbar{border-bottom:3px solid var(--color-border-strong)}.theme-fieldset{min-width:0;margin-left:0;margin-right:0}.theme-fieldset-legend{font-weight:600;float:left;width:100%;padding:0;margin:0 0 .5rem}.theme-fieldset-legend+*{clear:both}.theme-options{display:flex;flex-direction:column;gap:.6rem}.theme-option{position:relative;display:flex;align-items:center;gap:.85rem;padding:.7rem .85rem;border-radius:14px;border:var(--bw-15) solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.theme-option.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.theme-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;border:0}.theme-option:focus-within{outline:3px solid var(--color-primary);outline-offset:2px}.theme-option-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.theme-option-label{font-weight:700}.theme-option.selected .theme-option-label:after{content:" ✓"}.theme-option-desc{font-size:.82rem;color:var(--color-text-muted)}.theme-swatch{flex:0 0 auto;width:3.4rem;height:2.7rem;border-radius:10px;border:2px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem}.theme-swatch-text{font-family:var(--font-heading);font-weight:800;font-size:1.05rem;line-height:1}.theme-swatch-bar{width:55%;height:5px;border-radius:3px}.theme-swatch-standard{background:#ffefdb;border-color:#ecd9bc;color:#123638}.theme-swatch-standard .theme-swatch-bar{background:#007380}.theme-swatch-sombre{background:#0f1f20;border-color:#35585a;color:#e9f4f3}.theme-swatch-sombre .theme-swatch-bar{background:#4fd1d1}.theme-swatch-contraste{background:#000;border-color:#fff;color:#fff}.theme-swatch-contraste .theme-swatch-bar{background:#ffd400}.activity-new-badge{position:absolute;top:6px;right:6px;z-index:2;font-size:.7rem;font-weight:800;letter-spacing:.08em;line-height:1;padding:.28rem .55rem;border-radius:999px;background:var(--color-accent);color:#fff;box-shadow:0 1px 4px rgba(18,54,56,.35);pointer-events:none}.activity-card:has(.activity-remove-btn) .activity-new-badge{right:2.9rem}.done-nudge-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));background:rgb(var(--rgb-ink)/.35)}.done-nudge{position:relative;width:100%;max-width:440px;margin:0;text-align:center;animation:done-nudge-rise .32s ease-out both}.done-nudge-emoji{margin:0;font-size:2.4rem;line-height:1}.done-nudge-title{margin:.4rem 0 0;font-size:1.25rem;font-weight:800;color:var(--color-primary)}.done-nudge-text{margin:.5rem 0 0;font-size:.92rem;color:var(--color-text-muted)}.done-nudge-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1.1rem}.done-nudge-main{padding:.85rem 1.2rem;font-size:1.02rem}.done-nudge-faces{display:flex;justify-content:center;gap:.35rem;margin-top:.9rem}.done-nudge-face{flex:1 1;max-width:3.6rem;aspect-ratio:1/1;border:var(--bw-1) solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:1.9rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease,border-color .15s ease,background .15s ease}.done-nudge-face:focus-visible,.done-nudge-face:hover:not(:disabled){transform:scale(1.14);border-color:var(--color-accent);background:var(--color-accent3)}.done-nudge-face.picked{transform:scale(1.2);border-color:var(--color-accent);background:var(--color-accent3)}.done-nudge-face:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}@keyframes done-nudge-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.done-nudge{animation:none}.done-nudge-face{transition:none}}.link-time-bubble-line{margin:.8rem 0 0;padding:.55rem .8rem;border-radius:var(--radius);background:var(--color-accent3);font-size:.86rem;line-height:1.4;color:var(--color-primary-dark)}.link-time-bubble-line strong{font-weight:800}.illustration-collage{position:relative;padding:0;overflow:hidden;background:var(--color-accent3)}.illustration-collage-item{position:absolute;padding:2px;border-radius:5px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25)}.illustration-collage-item img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px}.af-card{background:var(--color-surface);border-radius:var(--radius);padding:1.1rem 1.1rem 1.2rem;box-shadow:0 4px 18px rgba(165,65,51,.07);display:flex;flex-direction:column;gap:.45rem}.af-q{font-family:var(--font-heading);font-weight:700;font-size:1.12rem;color:var(--color-primary-dark);margin:0}.af-hint{font-size:.84rem;margin:0 0 .25rem}.af-hint,.af-opt{color:var(--color-text-muted)}.af-opt{font-weight:400;font-size:.82em}.af-group-label{font-size:.75rem;color:var(--color-text-muted);margin:.7rem 0 .35rem}.af-progress{display:flex;gap:6px}.af-progress span{flex:1 1;height:6px;border-radius:999px;background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border)}.af-progress span.on{background:var(--color-secondary);box-shadow:none}.af-progress-label{font-size:.8rem;color:var(--color-text-muted);margin:.4rem 0 0}.af-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.af-tile{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:16px;padding:.7rem .4rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer;font:inherit;text-align:center}.af-tile.selected{border-color:var(--color-secondary);background:var(--color-accent3)}.af-tile:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.af-tile-emoji{font-size:1.45rem;line-height:1.2;font-weight:800;font-family:var(--font-heading);color:var(--color-primary-dark)}.af-tile-label{font-size:.8rem}.af-more{border-top:1px solid var(--color-border);padding-top:.6rem;margin-top:.4rem}.af-more>summary{cursor:pointer;font-weight:700;color:var(--color-primary);list-style:none}.af-more>summary::-webkit-details-marker{display:none}.af-more>summary:before{content:"＋ "}.af-more[open]>summary:before{content:"－ "}.chip.af-suggest{border-color:var(--color-secondary)}.chip.af-suggest-custom{border-style:dashed}.af-step-num{flex:none;width:28px;height:28px;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.85rem}.af-nav{display:flex;gap:.6rem;padding:.5rem 0 .25rem}.af-nav .btn{flex:1 1}.af-nav .btn.btn-ghost{flex:0 0 auto;background:var(--color-surface)}.cq-form{gap:.55rem}.cq-head{gap:.75rem;margin-bottom:.25rem}.cq-badge,.cq-head{display:flex;align-items:center}.cq-badge{width:52px;height:52px;border-radius:18px;justify-content:center;font-size:1.7rem;flex:none}.cq-badge-q{background:var(--color-accent3)}.cq-badge-t{background:var(--color-accent2)}.cq-title{font-family:var(--font-heading);font-size:1.3rem;line-height:1.15;margin:0;color:var(--color-primary-dark)}.cq-tip .cq-title{color:var(--color-accent-dark)}.cq-sub{margin:.15rem 0 0;font-size:.85rem;color:var(--color-text-muted)}.cq-label{font-family:var(--font-heading);font-weight:700;font-size:1rem;margin:.6rem 0 .2rem}.cq-counter{text-align:right;font-size:.74rem;color:var(--color-text-muted);margin:0}.cq-inspi{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:none}.cq-inspi button{flex:none;max-width:220px;text-align:left;border:1px dashed var(--color-secondary);color:var(--color-primary-dark);border-radius:14px;padding:.5rem .65rem;font:inherit;font-size:.8rem;cursor:pointer}.cq-inspi button,.cq-similar{background:var(--color-accent3)}.cq-similar{border-radius:16px;padding:.6rem .75rem;font-size:.85rem;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.cq-similar b{color:var(--color-primary-dark)}.chip.cq-suggested{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--color-accent3)}.cq-hint{font-size:.8rem;color:var(--color-secondary-dark);font-weight:700;margin:.4rem 0 0}.cq-toggle{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:16px;padding:.6rem .75rem;margin-top:.4rem;font:inherit;cursor:pointer}.cq-toggle small{display:block;color:var(--color-text-muted);font-size:.76rem}.cq-switch{width:42px;height:24px;border-radius:999px;background:var(--color-border);position:relative;flex:none;transition:background .2s}.cq-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s}.cq-toggle.on .cq-switch{background:var(--color-secondary)}.cq-toggle.on .cq-switch:after{left:21px}.cq-toggle:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.cq-preview{border:1px solid var(--color-border);border-radius:18px;padding:.75rem;background:var(--color-surface);margin-top:.4rem}.cq-preview-label{font-size:.72rem;color:var(--color-text-muted);margin:0 0 .35rem}.cq-pill{display:inline-block;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:700;margin-right:.3rem}.cq-pill-q{background:var(--color-primary);color:var(--color-on-primary)}.cq-pill-t{background:var(--color-accent);color:var(--color-on-accent)}.cq-pill-theme{background:var(--color-accent3);color:var(--color-primary-dark)}.cq-preview-title{font-family:var(--font-heading);font-weight:700;font-size:1.05rem;margin:.4rem 0 .1rem}.cq-preview-by{font-size:.78rem;color:var(--color-text-muted);margin:0}.cq-preview-body{font-size:.86rem;margin:.35rem 0 0;white-space:pre-line}.cq-cta{width:100%;margin-top:.6rem}.cq-cta-t{background:var(--color-accent);color:var(--color-on-accent)}.cq-reassure{text-align:center;font-size:.76rem;color:var(--color-text-muted);margin:.2rem 0 0}.lp-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1rem}.lp-card{display:flex;gap:.8rem;align-items:flex-start;text-decoration:none;color:inherit}.lp-card-emoji{font-size:2rem;line-height:1;flex-shrink:0}.lp-card-body{flex:1 1;min-width:0}.lp-card-title{margin:0;font-weight:700;font-size:1.05rem}.lp-card-meta{margin:.2rem 0 .4rem;font-size:.82rem;color:var(--color-text-muted)}.lp-card-summary{margin:0;font-size:.9rem}.lp-draft-pill,.lp-status{display:inline-block;margin-left:.4rem;padding:.05rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;vertical-align:middle;background:var(--color-accent2);color:var(--color-accent-dark)}.lp-status-published{background:var(--color-accent3);color:var(--color-primary-dark)}.lp-status-archived{background:var(--color-border);color:var(--color-text-muted)}.lp-progress{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.lp-progress-bar{flex:1 1;height:8px;border-radius:999px;background:var(--color-accent3);overflow:hidden;display:block}.lp-progress-bar>span{display:block;height:100%;background:var(--color-primary);border-radius:999px;transition:width .3s ease}.lp-progress-text{font-size:.8rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.lp-progress-large{margin:.5rem 0 1rem}.lp-progress-large .lp-progress-bar{height:12px}.lp-medal-line{margin:.5rem 0 0;font-weight:700;color:var(--color-accent-dark)}.lp-back{display:inline-block;margin-bottom:.75rem;font-size:.9rem}.lp-hero{display:flex;gap:.8rem;align-items:center;margin-bottom:.5rem}.lp-hero-emoji{font-size:3rem;line-height:1}.lp-note{padding:.7rem .9rem;border-radius:14px;background:var(--color-accent3);margin:0 0 .8rem;font-size:.92rem}.lp-note-safety{background:var(--color-accent2)}.lp-medal{display:flex;gap:.8rem;align-items:center;border:2px solid var(--color-accent);margin-bottom:1rem}.lp-medal-icon{font-size:2.6rem;line-height:1}.lp-medal-title{margin:0 0 .2rem;font-weight:800;font-size:1.1rem}.lp-sessions{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-gap:.6rem;gap:.6rem}.lp-session{padding:0;overflow:hidden}.lp-session-head{display:flex;width:100%;gap:.7rem;align-items:center;padding:.8rem 1rem;background:none;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.lp-session-num{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;background:var(--color-accent3);color:var(--color-primary-dark)}.lp-session.is-done .lp-session-num{background:var(--color-primary);color:var(--color-on-primary)}.lp-session-title{flex:1 1;font-weight:700}.lp-session-duration{display:block;font-weight:400;font-size:.8rem;color:var(--color-text-muted)}.lp-session-body{padding:0 1rem 1rem}.lp-session-body ol,.lp-session-body ul{margin:.2rem 0 .8rem;padding-left:1.3rem}.lp-session-body li{margin-bottom:.3rem}.lp-session-label{margin:.4rem 0 .2rem;font-weight:700}.lp-session-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.lp-session-actions .is-disabled{opacity:.6;pointer-events:none}.lp-session-photo{display:block;max-width:100%;max-height:260px;border-radius:14px;margin:.4rem 0;object-fit:cover}.lp-album{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:.6rem;gap:.6rem}.lp-album figure{margin:0}.lp-album img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;display:block}.lp-album figcaption{font-size:.78rem;text-align:center;color:var(--color-text-muted);margin-top:.2rem}.lp-home-card{margin-top:1rem}.lp-home-title{margin:0 0 .5rem;font-weight:800}.lp-home-list{display:grid;grid-gap:.6rem;gap:.6rem}.lp-home-item{display:flex;gap:.7rem;align-items:flex-start;text-decoration:none;color:inherit}.lp-home-item-body{flex:1 1;min-width:0;display:flex;flex-direction:column}.lp-home-next{font-size:.85rem;color:var(--color-primary-dark);margin-top:.3rem;font-weight:600}.lp-home-more{font-size:.88rem}.lp-admin-list{display:grid;grid-gap:.8rem;gap:.8rem}.lp-admin-item{border:1px solid var(--color-border);border-radius:14px;padding:.8rem}.lp-admin-item-head{display:flex;gap:.6rem;align-items:flex-start}.lp-admin-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.lp-admin-read{margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--color-border);font-size:.92rem}.lp-admin-read-session{margin-bottom:.8rem}.lp-admin-read ol{margin:.2rem 0 .3rem;padding-left:1.3rem}.lp-admin-form{max-width:760px}.lp-admin-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem}.lp-admin-session{border:1px solid var(--color-border);border-radius:14px;padding:.8rem;margin:0 0 .8rem}.lp-admin-session legend{font-weight:700;padding:0 .3rem}