:root{--font-display:"Fredoka","Nunito",system-ui,sans-serif;--font-body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;--bg:#cfe9ff;--bg-gradient:linear-gradient(160deg,#dff3ff,#bfe1ff 45%,#ffe6f0);--surface:hsla(0,0%,100%,.86);--surface-strong:#fff;--text:#22304a;--muted:#6b7a95;--primary:#4f8cff;--primary-text:#fff;--accent:#ff8fab;--border:rgba(34,48,74,.1);--shadow:0 10px 30px rgba(50,80,140,.15);--shadow-sm:0 3px 10px rgba(50,80,140,.12);--danger:#e5484d;--success:#2f9e44;--radius:22px;--radius-sm:14px}*,:after,:before{box-sizing:border-box}#react-target,body,html{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:var(--bg);background-attachment:fixed;background-image:var(--bg-gradient);color:var(--text);font-family:var(--font-body);transition:background-color .4s ease,color .3s ease}body.kiosk-active{-webkit-touch-callout:none;overflow:hidden;overscroll-behavior:none;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}body.kiosk-active a,body.kiosk-active img,body.kiosk-active svg{-webkit-user-drag:none;user-drag:none}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:.01em;margin:0}p{margin:0}button,input{color:inherit;font:inherit}button{background:none;border:0;cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.small{font-size:.9em}.grow{flex:1}.btn{align-items:center;background:var(--surface-strong);border-radius:999px;box-shadow:var(--shadow-sm);color:var(--text);display:inline-flex;font-weight:700;gap:.5rem;justify-content:center;padding:.7rem 1.2rem;transition:transform .12s ease,box-shadow .12s ease,background .2s ease;white-space:nowrap}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:scale(.97)}.btn-primary{background:var(--primary);color:var(--primary-text)}.btn-accent{background:var(--accent);color:#22304a}.btn-ghost{background:transparent;box-shadow:none}.btn-ghost:not(:disabled):hover{background:rgba(127,127,160,.12)}.btn-danger{background:var(--danger);color:#fff}.btn-danger-text{color:var(--danger)}.btn-lg{font-size:1.05rem;padding:.9rem 1.5rem}.btn-xl{font-family:var(--font-display);font-size:1.25rem;padding:1.1rem 2rem}.btn-round{font-size:1.5rem;height:2.75rem;line-height:1;padding:0;width:2.75rem}.icon-btn{align-items:center;border-radius:50%;display:inline-flex;font-size:1.15rem;height:2.4rem;justify-content:center;transition:background .15s ease,transform .12s ease;width:2.4rem}.icon-btn:not(:disabled):hover{background:rgba(127,127,160,.14)}.icon-btn:not(:disabled):active{transform:scale(.92)}.icon-btn.danger{color:var(--danger)}.form{gap:1rem}.field,.form{display:flex;flex-direction:column}.field{font-weight:600;gap:.35rem}.field>span{color:var(--muted);font-size:.9rem}.field input{background:var(--surface-strong);border:2px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:.75rem .95rem;transition:border-color .15s ease}.field input:focus{border-color:var(--primary)}.field-row{display:grid;grid-template-columns:1fr 1fr}.switch{align-items:center;cursor:pointer;display:inline-flex;font-weight:700;gap:.75rem;user-select:none}.switch input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.switch-track{background:rgba(127,127,160,.35);border-radius:999px;flex-shrink:0;height:1.9rem;position:relative;transition:background .2s ease;width:3.2rem}.switch-thumb{background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);height:1.5rem;left:.2rem;position:absolute;top:.2rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1);width:1.5rem}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track .switch-thumb{transform:translateX(1.3rem)}.switch input:focus-visible+.switch-track{outline:3px solid var(--primary);outline-offset:2px}.form-error{color:var(--danger);font-weight:600}.form-success{color:var(--success);font-weight:600}.tabs{background:rgba(127,127,160,.14);display:flex;gap:.25rem;padding:.25rem}.tabs,.tabs button{border-radius:999px}.tabs button{color:var(--muted);flex:1;font-weight:700;padding:.6rem 1rem;transition:background .2s ease,color .2s ease}.tabs button.active{background:var(--surface-strong);box-shadow:var(--shadow-sm);color:var(--text)}.tabs-sm button{padding:.45rem .8rem}.card{backdrop-filter:blur(10px);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.card-danger{border:2px solid rgba(229,72,77,.35)}.page{display:flex;flex-direction:column;min-height:100%;position:relative;z-index:1}.splash{color:var(--muted);display:grid;gap:.5rem;height:100%;place-content:center;text-align:center}.splash-logo{animation:float 2s ease-in-out infinite;border-radius:22%;height:4.5rem;margin:0 auto;width:4.5rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.brand{align-items:center;display:flex;flex-direction:column;gap:.35rem;text-align:center}.brand h1{font-size:2rem}.brand-icon{border-radius:22%;box-shadow:var(--shadow-sm);height:4rem;width:4rem}.brand-inline{flex-direction:row;gap:.6rem}.brand-inline h1{font-size:1.5rem}.brand-inline .brand-icon{border-radius:22%;height:2.2rem;width:2.2rem}.topbar{flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.topbar,.topbar-nav{align-items:center;display:flex}.topbar-nav{gap:.25rem}body:has(.account-page),body:has(.auth-page){--bg:#fff;--bg-gradient:none}.auth-page{align-items:center;justify-content:center;padding:2rem 1rem}.auth-card{background:#f8f8fb;border-radius:30px;display:flex;flex-direction:column;gap:1.5rem;padding:2rem;width:min(440px,100%)}.auth-card .brand h1{font-weight:500}.auth-page .tabs{background:#eceef4;padding:5px}.auth-page .tabs button{font-family:var(--font-display);font-size:1.05rem;font-weight:500;padding:.6rem .5rem;white-space:nowrap}.auth-page .tabs button.active{box-shadow:0 2px 8px rgba(47,54,72,.1)}.account-page .emoji-custom input,.account-page .field input,.auth-page .field input{border-color:transparent;box-shadow:0 2px 8px rgba(47,54,72,.06)}.account-page .emoji-custom input:focus,.account-page .field input:focus,.auth-page .field input:focus{border-color:var(--primary)}.account-page .card .btn,.auth-page .btn{box-shadow:none}.account-page .btn-danger,.account-page .btn-primary,.auth-page .btn-primary{font-family:var(--font-display);font-size:1.05rem;font-weight:500}.auth-page .btn-lg{font-size:1.2rem}.account-page{gap:1rem}.account-page .topbar h1{flex:1;font-weight:500;min-width:0;text-align:center}@media (max-width:720px){.account-page .topbar>.muted{display:none}}.account-page .card{backdrop-filter:none;background:#f8f8fb;border-radius:26px;box-shadow:none}.account-page .card h2{font-weight:500}.account-page .card-danger{background:#fff1f2;border:0}.account-page .switch-track{background:#d9dce6}.account-page .switch-thumb{box-shadow:0 2px 6px rgba(47,54,72,.15)}.account-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));padding:0 1.5rem 2rem}.breadcrumb{margin:0 auto;padding:0 1.5rem;width:min(1100px,100%)}.breadcrumb ol{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:700;gap:.35rem;list-style:none;margin:0;padding:0}.breadcrumb li+li:before{content:"›";margin-right:.35rem;opacity:.6}.breadcrumb [aria-current],.breadcrumb a:hover{color:var(--text)}.avatar{border-radius:50%;box-shadow:inset 0 -4px 0 rgba(0,0,0,.08);display:grid;flex-shrink:0;overflow:hidden;place-items:center}.avatar img{display:block;height:100%;object-fit:cover;width:100%}.avatar-emoji{line-height:1}.avatar-xs{font-size:.9rem;height:1.5rem;width:1.5rem}.avatar-sm{font-size:1.3rem;height:2.2rem;width:2.2rem}.avatar-md{font-size:1.8rem;height:3rem;width:3rem}.avatar-lg{font-size:2.3rem;height:3.8rem;width:3.8rem}.avatar-xl{font-size:3.6rem;height:6rem;width:6rem}.kiosk{display:flex;flex-direction:column;height:100%;position:relative;z-index:1}.kiosk-bar{align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr;padding:.75rem 1.25rem;position:relative;z-index:2}.kiosk-bar-side{align-items:center;display:flex;gap:.75rem}.kiosk-bar-side.right{justify-content:flex-end}.kiosk-ios-fs .kiosk-bar-side:first-child{padding-left:3.25rem}.kiosk-title{font-family:var(--font-display)}.kiosk-icon,.kiosk-title{color:var(--muted);font-size:1.3rem}.kiosk-icon{background:var(--surface);box-shadow:var(--shadow-sm);height:2.8rem;width:2.8rem}.fs-overlay{align-items:center;backdrop-filter:blur(8px);background:rgba(20,24,50,.82);color:#fff;display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;padding:2rem;position:fixed;text-align:center;z-index:500}.fs-overlay-icon{animation:float 1.6s ease-in-out infinite;font-size:4rem}.fs-overlay-text{font-family:var(--font-display);font-size:2rem}.fs-overlay-hint{opacity:.7}.fs-overlay-welcome{background:rgba(20,24,50,.92)}.fs-overlay-logo{animation:float 1.6s ease-in-out infinite;border-radius:22%;box-shadow:var(--shadow);height:6rem;width:6rem}.modal-backdrop{align-items:center;animation:fade-in .2s ease;backdrop-filter:blur(6px);background:rgba(20,24,50,.55);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal{animation:rise .25s cubic-bezier(.2,.8,.2,1);background:var(--surface-strong);border-radius:28px;box-shadow:var(--shadow);color:var(--text);display:flex;flex-direction:column;max-height:calc(100% - 2rem);overflow:hidden;width:min(560px,100%)}.modal-head{align-items:center;display:flex;justify-content:space-between;padding:1.25rem 1.5rem .5rem}.modal-head h2{font-size:1.4rem}.modal-body{overflow-y:auto;padding:1rem 1.5rem 1.5rem}.confirm-inline,.modal-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.confirm-inline{font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}.child-editor-preview{align-items:center;display:flex;gap:1.25rem}.color-row{display:flex;flex-wrap:wrap;gap:.5rem}.color-dot{border:3px solid transparent;border-radius:50%;height:2.2rem;transition:transform .15s ease,border-color .15s ease;width:2.2rem}.color-dot.selected{border-color:var(--text);transform:scale(1.15)}.emoji-grid{display:grid;gap:.35rem;grid-template-columns:repeat(auto-fill,minmax(3rem,1fr))}.emoji-cell{aspect-ratio:1;border-radius:12px;display:grid;font-size:1.7rem;place-items:center;transition:background .15s ease,transform .12s ease}.emoji-cell:hover{background:rgba(127,127,160,.14);transform:scale(1.1)}.emoji-cell.selected{background:var(--primary)}.emoji-groups{display:flex;flex-direction:column;gap:1rem}.emoji-group h3{color:var(--muted);font-size:.85rem;letter-spacing:.08em;margin-bottom:.35rem;text-transform:uppercase}.emoji-custom{display:flex;gap:.5rem;margin-top:1.25rem}.emoji-custom input{background:var(--surface-strong);border:2px solid var(--border);border-radius:999px;flex:1;outline:none;padding:.7rem .9rem}.dropzone{align-items:center;border:3px dashed var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;text-align:center}.modal-pin{text-align:center;width:min(360px,100%)}.modal-pin .modal-body{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:1.75rem 1.5rem 1.5rem}.pin-title{font-size:1.5rem}.pin-dots{display:flex;gap:.75rem;margin:1rem 0 .25rem}.pin-dot{border:3px solid var(--primary);border-radius:50%;height:1.1rem;transition:background .15s ease,transform .15s ease;width:1.1rem}.pin-dot.filled{background:var(--primary);transform:scale(1.15)}.pin-dots.error .pin-dot{border-color:var(--danger)}.pin-dots.shake{animation:shake .45s ease}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-10px)}40%{transform:translateX(10px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}.pin-error{color:var(--danger);font-weight:700;min-height:1.4em}.pin-pad{display:grid;gap:.7rem;grid-template-columns:repeat(3,4.6rem);margin-top:.5rem}.pin-key{background:rgba(127,127,160,.14);border-radius:50%;font-family:var(--font-display);font-size:1.8rem;font-weight:600;height:4.6rem;transition:background .15s ease,transform .1s ease}.pin-key:not(:disabled):active{background:var(--primary);color:var(--primary-text);transform:scale(.92)}.pin-key-back,.pin-key-cancel{background:transparent;color:var(--muted);font-size:1.4rem}.cheer{animation:fade-in .25s ease;background:rgba(20,24,50,.35);cursor:pointer;display:grid;inset:0;place-items:center;position:fixed;z-index:900}.cheer-card{--accent:#ffd93d;align-items:center;animation:cheer-in .6s cubic-bezier(.34,1.56,.64,1);background:var(--surface-strong);border-radius:36px;box-shadow:0 0 0 10px var(--accent),var(--shadow);color:var(--text);display:flex;flex-direction:column;gap:.75rem;padding:2.5rem 3rem;text-align:center}.cheer-card h2{font-size:2.6rem}.cheer-card p{color:var(--muted);font-size:1.2rem;font-weight:700}.cheer-avatar{animation:bounce .8s ease infinite alternate}@keyframes cheer-in{0%{opacity:0;transform:scale(.5) rotate(-6deg)}to{opacity:1;transform:none}}@keyframes bounce{0%{transform:translateY(0) rotate(-6deg)}to{transform:translateY(-14px) rotate(6deg)}}.landing{display:flex;flex-direction:column;min-height:100%;position:relative;z-index:1}.brand-name{font-family:var(--font-display);font-size:1.5rem;font-weight:600;letter-spacing:.01em}.landing main{display:flex;flex:1;flex-direction:column;gap:4rem;margin:0 auto;padding:0 1.5rem 3rem;width:min(1100px,100%)}.landing section>h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1.5rem;text-align:center}.landing-header{flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;padding:1rem 1.5rem;width:min(1100px,100%)}.landing-header,.landing-nav{align-items:center;display:flex}.landing-nav{font-weight:700;gap:1.25rem}.landing-nav a:not(.btn){color:var(--muted)}.landing-nav a:not(.btn):hover{color:var(--text)}.lead{color:var(--muted);font-size:1.15rem;line-height:1.5;margin-bottom:1.5rem;max-width:52ch}.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}@media (max-width:720px){.kiosk-bar{gap:.5rem;padding:.5rem .6rem}.kiosk-bar-center{display:flex;justify-content:center;min-width:0}.kiosk-bar .mode-toggle-lg .mode-toggle-btn{font-size:1rem;padding:.5rem .9rem}.kiosk-icon{height:2.5rem;width:2.5rem}}.landing-footer{color:var(--muted);display:flex;flex-wrap:wrap;font-weight:600;gap:1rem;justify-content:space-between;margin:0 auto;padding:1.5rem;width:min(1100px,100%)}.landing-footer nav{display:flex;flex-wrap:wrap;gap:.5rem 1rem}body:has(.landing){--bg:#cfe9ff;--bg-gradient:linear-gradient(160deg,#dff3ff,#bfe1ff 45%,#ffe6f0);--surface:hsla(0,0%,100%,.86);--surface-strong:#fff;--text:#22304a;--muted:#6b7a95;--primary:#4f8cff;--primary-text:#fff;--border:rgba(34,48,74,.1);--shadow:0 10px 30px rgba(50,80,140,.15);--shadow-sm:0 3px 10px rgba(50,80,140,.12)}@media (max-width:860px){.landing-header{align-items:stretch;flex-direction:column;gap:.75rem}.landing-nav{flex-wrap:wrap;font-size:.95rem;gap:.5rem 1rem;justify-content:flex-start}.landing-nav .btn{margin-left:auto}.landing main{gap:3rem;padding:0 1rem 2rem}.landing-footer{align-items:flex-start;flex-direction:column}}.avatar-current{font-size:1.6rem;vertical-align:middle}.legal{line-height:1.65;margin:0 auto;max-width:76ch;padding:1rem 0 2rem;width:100%}.legal h1{font-size:1.5em;margin-bottom:.25rem;text-align:left}.legal h3{font-size:1.15rem;margin:1.75rem 0 .5rem}.legal li,.legal p{margin-bottom:.6rem}.legal ul{padding-left:1.25rem}.legal a{color:var(--primary);text-decoration:underline}.btn-google{background:var(--surface-strong);border:2px solid var(--border);box-shadow:none;justify-content:center;padding:.8rem 1rem;width:100%}.or-divider{align-items:center;color:var(--muted);display:flex;font-size:.85rem;font-weight:700;gap:.75rem;letter-spacing:.08em;text-transform:uppercase}.or-divider:after,.or-divider:before{background:var(--border);content:"";flex:1;height:1px}.link-btn{align-self:center;color:var(--primary);font-weight:700;padding:.25rem .5rem}.link-btn:hover{text-decoration:underline}.notice-banner{align-items:center;background:rgba(79,140,255,.14);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;font-weight:600;gap:.75rem;padding:.7rem 1rem}.notice-banner,.pin-setup-wrap{margin:0 1.5rem}.pin-setup{border:2px solid var(--accent)}.tag-ok{background:rgba(47,158,68,.15);color:var(--success)}.tag-warn{background:rgba(255,184,107,.3);color:#9a5b00}@media (max-width:720px){.notice-banner,.pin-setup-wrap{margin-left:1rem;margin-right:1rem}}.app-menu{position:relative}.app-menu-title{font-size:1.5rem;line-height:1.1;margin:0}.app-menu-btn{align-items:center;border-radius:14px;display:flex;gap:.6rem;padding:.35rem .6rem;transition:background .2s ease}.app-menu-btn:hover{background:rgba(127,127,160,.12)}.app-menu-logo{border-radius:22%;box-shadow:var(--shadow-sm);flex-shrink:0;height:2.2rem;width:2.2rem}.app-menu-name{white-space:nowrap}.app-menu-caret{font-size:.9rem;opacity:.6}.app-menu-dropdown{border-radius:24px;padding:.6rem;width:22rem}.app-menu-grid{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}.app-menu-tile{aspect-ratio:1/1;border-radius:20px;color:#fff;flex-direction:column;font-family:var(--font-display);font-size:1.15rem;font-weight:500;gap:.6rem;justify-content:center;line-height:1.15;padding:.75rem;position:relative;text-align:center;transition:transform .12s ease,filter .15s ease}.app-menu-tile:hover{filter:brightness(1.06)}.app-menu-tile:active{transform:scale(.97)}.app-menu-grid .app-menu-tile.active,.app-menu-grid .app-menu-tile.active:hover{background:transparent;color:var(--text);cursor:default;filter:none}.app-menu-tile-check{background:var(--primary);border-radius:50%;color:var(--primary-text);display:grid;font-size:.9rem;font-weight:800;height:1.6rem;place-items:center;position:absolute;right:.6rem;top:.6rem;width:1.6rem}.app-menu-item-logo{border-radius:22%;flex-shrink:0;height:3.5rem;width:3.5rem}.app-menu-kiosk .app-menu-dropdown{width:26rem}.app-menu-kiosk .app-menu-tile{font-size:1.3rem}.app-menu-kiosk .app-menu-item-logo{height:4.5rem;width:4.5rem}.app-menu-kiosk .app-menu-logo{height:2.8rem;width:2.8rem}.app-menu-kiosk .app-menu-name{font-family:var(--font-display);font-size:1.2rem}.app-menu-compact .app-menu-btn{padding:.35rem .5rem}.app-menu-compact .app-menu-name{font-family:var(--font-display);font-size:1.5rem;font-weight:500;line-height:1.1}.app-menu-kiosk.app-menu-compact .app-menu-btn{padding:.35rem}@media (max-width:700px){.app-menu-name{display:none}.app-menu-compact .app-menu-name{display:inline}}.account-subsection{border-top:1px solid rgba(127,127,160,.2);display:flex;flex-direction:column;gap:.5rem;padding-top:1rem}.account-subsection h3{font-size:1.1rem}.family-menu{position:relative}.family-menu-btn{gap:.5rem;max-width:16rem;padding:.55rem .9rem}.family-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-menu-count{background:var(--primary);border-radius:999px;color:var(--primary-text);font-size:.75rem;padding:.1rem .5rem}.family-menu-caret{opacity:.6}.dropdown{animation:rise .18s ease;background:var(--surface-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow);left:0;max-width:90vw;min-width:18rem;padding:.4rem;position:absolute;top:calc(100% + .4rem);z-index:50}.dropdown-label{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.08em;padding:.4rem .75rem .2rem;text-transform:uppercase}.dropdown-item{align-items:center;border-radius:10px;display:flex;font-weight:700;gap:.5rem;padding:.6rem .75rem;text-align:left;width:100%}.dropdown-item:hover{background:rgba(127,127,160,.12)}.dropdown-item.active{color:var(--primary)}.dropdown-check{text-align:center;width:1.2rem}.dropdown-sep{background:var(--border);height:1px;margin:.35rem .5rem}.modal-family{width:min(620px,100%)}.family-sections{display:flex;flex-direction:column;gap:1.5rem}.family-sections h3{font-size:1.1rem;margin-bottom:.35rem}.inline-form{display:flex;gap:.5rem}.inline-form input{background:var(--surface-strong);border:2px solid var(--border);border-radius:var(--radius-sm);flex:1;min-width:0;outline:none;padding:.7rem .9rem}.inline-form input:focus{border-color:var(--primary)}.member-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:.5rem 0 0;padding:0}.member-list li{align-items:center;background:rgba(127,127,160,.08);border-radius:var(--radius-sm);display:flex;gap:.75rem;line-height:1.3;padding:.6rem .75rem}.member-avatar{font-size:1.4rem}.tag{background:rgba(79,140,255,.15);border-radius:999px;color:var(--primary);display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.05em;margin-left:.4rem;padding:.05rem .5rem;text-transform:uppercase;vertical-align:middle}.family-danger{border-top:1px solid var(--border);padding-top:1rem}.share-link{display:flex;gap:.5rem;margin-top:.5rem}.share-link input{background:rgba(127,127,160,.08);border:2px dashed var(--border);border-radius:var(--radius-sm);flex:1;font-size:.85rem;min-width:0;padding:.6rem .8rem}.invite-hint{background:rgba(79,140,255,.12);border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;margin-top:.5rem;padding:.6rem .9rem}.invitation-card{gap:1rem;text-align:center}.invitation-card .hero-cta{justify-content:center}.connection-banner{background:#ffb86b;box-shadow:var(--shadow-sm);color:#22304a;display:flex;flex-wrap:wrap;font-weight:700;gap:.75rem;left:0;padding:.5rem 1rem;position:fixed;right:0;top:0;z-index:2000}.connection-banner,.crash{align-items:center;justify-content:center}.crash{padding:2rem 1rem}.crash-card{display:flex;flex-direction:column;gap:1rem;width:min(640px,100%)}.crash-message{background:rgba(127,127,160,.12);border-radius:var(--radius-sm);font-size:.8rem;margin:0;max-height:40vh;overflow:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}.password-field{display:flex;position:relative}.password-field input{flex:1;padding-right:3rem;width:100%}.password-field input.masked{-webkit-text-security:disc;letter-spacing:.25em}.eye-btn{border-radius:50%;display:grid;font-size:1.1rem;height:2.4rem;place-items:center;position:absolute;right:.35rem;top:50%;transform:translateY(-50%);transition:background .15s ease;width:2.4rem}.eye-btn:hover{background:rgba(127,127,160,.14)}.rules{color:var(--muted);display:grid;font-size:.85rem;font-weight:600;gap:.25rem;list-style:none;margin:.35rem 0 0;padding:0}.rule{align-items:center;display:flex;gap:.5rem;transition:color .2s ease}.rule-icon{border:2px solid var(--border);border-radius:50%;display:grid;font-size:.8rem;height:1.3rem;place-items:center;transition:background .2s ease,border-color .2s ease,color .2s ease;width:1.3rem}.rule.ok{color:var(--success)}.rule.ok .rule-icon{background:var(--success);border-color:var(--success);color:#fff}@media (max-width:720px){.topbar{padding-left:1rem;padding-right:1rem}.kiosk-bar{grid-template-columns:auto 1fr auto;padding:.5rem .75rem}.kiosk-title{display:none}.field-row{grid-template-columns:1fr}.cheer-card{margin:1rem;padding:2rem 1.5rem}.cheer-card h2{font-size:2rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sections-pick{display:flex;flex-direction:column;gap:.5rem}.sections-pick-item{align-items:center;background:var(--surface-strong);border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;font-weight:700;gap:.75rem;padding:.6rem .75rem}.sections-pick-item.checked{border-color:var(--primary)}.sections-pick-item input{accent-color:var(--primary);height:1.3rem;width:1.3rem}.sections-pick-item img{border-radius:8px;height:2rem;width:2rem}.sections-pick-item small{color:var(--muted);display:block;font-weight:600}.section-badges{display:flex;flex-wrap:wrap;gap:.35rem}.section-badge{align-items:center;background:rgba(127,127,160,.14);border-radius:999px;display:inline-flex;font-size:.85rem;font-weight:700;gap:.3rem;padding:.2rem .6rem}.section-badge img{height:1.1rem;width:1.1rem}.btn-row{display:flex;flex-wrap:wrap;gap:.6rem}.section-invite{border-bottom:1px dashed var(--border);display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:.9rem}.section-invite p{margin:0}.section-invite-list{display:flex;flex-wrap:wrap;gap:.5rem}.section-invite-child{align-items:center;background:var(--surface-strong);border:2px dashed color-mix(in srgb,var(--accent) 60%,transparent);border-radius:999px;display:flex;font-weight:600;gap:.5rem;padding:.35rem .9rem .35rem .35rem;transition:transform .12s ease,border-color .15s ease}.section-invite-child:not(:disabled):hover{border-color:var(--accent);transform:translateY(-1px)}.emoji-img{-webkit-user-drag:none;display:inline-block;height:1.15em;object-fit:contain;user-select:none;vertical-align:-.22em;width:1.15em}.emoji-multi{align-items:center;display:inline-flex;gap:.05em;vertical-align:-.22em}.avatar .emoji-img,.emoji-multi .emoji-img{vertical-align:initial}.avatar .emoji-img{height:1.3em;width:1.3em}.emoji-pack-list{display:grid;gap:.6rem}.emoji-pack-option{align-items:center;background:var(--surface-strong);border:2px solid var(--border);border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:flex;font:inherit;gap:.9rem;padding:.7rem .9rem;text-align:left;transition:border-color .15s ease,background .15s ease}.emoji-pack-option:hover{border-color:var(--primary)}.emoji-pack-option.selected{background:color-mix(in srgb,var(--primary) 10%,var(--surface-strong));border-color:var(--primary)}.emoji-pack-samples{display:flex;flex-shrink:0;font-size:1.7rem;gap:.25rem;line-height:1}.emoji-pack-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.emoji-pack-text small{color:var(--muted)}.emoji-pack-check{color:var(--primary);font-weight:800;margin-left:auto}html:root[data-section=calendrier]{--bg:#fff;--bg-gradient:none;--cal-panel:#f8f8fb;--cal-rail:#f2f3f7;--cal-shadow:0 2px 10px rgba(47,54,72,.07)}:root{--cal-tone-mon:#339af0;--cal-tone-tue:#ff922b;--cal-tone-wed:#9775fa;--cal-tone-thu:#20c997;--cal-tone-fri:#f06595;--cal-tone-sat:#94d82d;--cal-tone-sun:#cc5de8;--cal-tone-off:#ffe99a}.cal-tone-mon{--day-color:var(--cal-tone-mon)}.cal-tone-tue{--day-color:var(--cal-tone-tue)}.cal-tone-wed{--day-color:var(--cal-tone-wed)}.cal-tone-thu{--day-color:var(--cal-tone-thu)}.cal-tone-fri{--day-color:var(--cal-tone-fri)}.cal-tone-sat{--day-color:var(--cal-tone-sat)}.cal-tone-sun{--day-color:var(--cal-tone-sun)}.cal-tone-off{--day-color:var(--cal-tone-off)}:root{--cal-month-1:#4c6ef5;--cal-month-2:#339af0;--cal-month-3:#22b8cf;--cal-month-4:#20c997;--cal-month-5:#94d82d;--cal-month-6:#fcc419;--cal-month-7:#ff922b;--cal-month-8:#ff6b6b;--cal-month-9:#f59f00;--cal-month-10:#e8590c;--cal-month-11:#845ef7;--cal-month-12:#5c7cfa}.cal-month-1{--month-color:var(--cal-month-1)}.cal-month-2{--month-color:var(--cal-month-2)}.cal-month-3{--month-color:var(--cal-month-3)}.cal-month-4{--month-color:var(--cal-month-4)}.cal-month-5{--month-color:var(--cal-month-5)}.cal-month-6{--month-color:var(--cal-month-6)}.cal-month-7{--month-color:var(--cal-month-7)}.cal-month-8{--month-color:var(--cal-month-8)}.cal-month-9{--month-color:var(--cal-month-9)}.cal-month-10{--month-color:var(--cal-month-10)}.cal-month-11{--month-color:var(--cal-month-11)}.cal-month-12{--month-color:var(--cal-month-12)}.cal-month-title{color:color-mix(in srgb,var(--month-color) 70%,var(--text))}:root[data-section=calendrier] .family-menu-btn{background:var(--cal-panel);box-shadow:none}:root[data-section=calendrier] .launch-panel{background:var(--cal-panel)}.cal-parent{align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) 360px;margin:0 1.5rem 2rem}.cal{background:var(--cal-panel);border-radius:24px;gap:.75rem;padding:1.125rem 1.25rem 1rem}.cal,.cal-aside{display:flex;flex-direction:column;min-width:0}.cal-aside{gap:1rem}.cal-aside-card{background:var(--cal-panel);border-radius:24px;display:flex;flex-direction:column;gap:.6rem;padding:1rem}.cal-aside-head{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.cal-aside-head h2{font-size:1.25rem}.btn-sm{box-shadow:none;font-size:.9rem;font-weight:700;padding:.5rem .9rem}.cal-upcoming{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.cal-upcoming-row{align-items:center;background:var(--surface-strong);border-radius:16px;color:inherit;display:flex;gap:.7rem;padding:.55rem .7rem;text-align:left;transition:transform .12s ease;width:100%}button.cal-upcoming-row:hover{transform:translateY(-1px)}.cal-upcoming-static{cursor:default}.cal-upcoming-date{align-items:center;background:color-mix(in srgb,var(--day-color) 55%,var(--surface-strong));border-radius:12px;display:flex;flex-direction:column;flex-shrink:0;line-height:1;padding:.35rem 0;width:2.9rem}.cal-upcoming-dow{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.cal-upcoming-num{font-family:var(--font-display);font-size:1.25rem;font-weight:600}.cal-upcoming-emoji{flex-shrink:0;font-size:1.8rem;line-height:1}.cal-upcoming-emoji .emoji-img{height:2rem;width:2rem}.cal-upcoming-text{display:flex;flex:1;flex-direction:column;gap:.1rem;min-width:0}.cal-upcoming-title{font-size:.95rem;line-height:1.2}.cal-upcoming-sub{font-size:.8rem;font-weight:700}.cal-upcoming-kids{display:flex;flex-shrink:0}.cal-upcoming-kids .avatar{border:2px solid var(--surface-strong)}.cal-upcoming-kids .avatar+.avatar{margin-left:-.5rem}.cal-children{flex-wrap:wrap;gap:.5rem}.cal-child,.cal-children{align-items:center;display:flex}.cal-child{background:color-mix(in srgb,var(--accent) 22%,var(--surface-strong));border-radius:999px;color:inherit;font-weight:700;gap:.6rem;padding:.35rem .9rem .35rem .35rem}.cal-child:disabled{cursor:default;opacity:1}.cal-child.active{outline:3px solid var(--accent)}.cal-child-add{background:transparent;border:2px dashed rgba(34,48,74,.15);box-shadow:none;color:var(--muted);padding:.55rem 1rem}.cal-child-add:hover{background:var(--surface-strong);color:var(--text)}.cal-child-toggles{display:flex;flex-wrap:wrap;gap:.6rem}.cal-child-toggles-lg{gap:1rem;justify-content:center}.cal-child-toggles-lg .cal-child{border-radius:var(--radius);flex-direction:column;font-size:1.1rem;padding:.75rem 1.25rem}.cal-legend{line-height:1.5;text-align:center}.cal-settings-head{align-items:center;display:grid;gap:.25rem .75rem;grid-template-columns:1fr auto}.cal-settings-head .link-btn{font-weight:800;grid-column:2;grid-row:1}.cal-settings-summary{display:flex;flex-wrap:wrap;font-weight:700;gap:.2rem .5rem;grid-column:1/-1}.cal-settings-summary span+span:before{content:"·";margin-right:.5rem}.cal-settings-body{margin-top:.5rem}.cal-settings input[type=search],.cal-settings select,.form input[type=date],.form select{background:var(--surface-strong);border:2px solid transparent;border-radius:var(--radius-sm);color:inherit;font:inherit;min-height:44px;padding:.65rem .8rem}.cal-settings input[type=search]:focus,.cal-settings select:focus{border-color:var(--primary);outline:none}.field-check{align-items:center;flex-direction:row;gap:.6rem}.field-check input{height:1.3rem;width:1.3rem}.cal-weekday-toggles{display:flex;flex-wrap:wrap;gap:.4rem}.cal-toggle{background:var(--surface-strong);border:2px solid transparent;border-radius:999px;font-weight:700;min-height:44px;min-width:44px;padding:.4rem .8rem}.cal-toggle.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.cal-location{font-weight:700}.cal-commune-results{background:var(--surface-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);list-style:none;margin:.25rem 0 0;padding:.25rem}.cal-month{display:flex;flex-direction:column;gap:.6rem}.cal-head{align-items:center;display:grid;gap:1rem;grid-template-columns:auto 1fr auto}.cal-head h2{font-size:1.75rem;text-align:center;text-transform:capitalize}.cal-head .icon-btn{color:var(--muted);font-size:1.8rem}.cal-grid{display:grid;gap:.4rem;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-weekday{background:color-mix(in srgb,var(--day-color,transparent) 60%,transparent);border-radius:999px;color:color-mix(in srgb,var(--day-color,var(--muted)) 45%,var(--text));font-size:.75rem;font-weight:800;letter-spacing:.06em;overflow:hidden;padding:.3rem 0;text-align:center;text-transform:uppercase;white-space:nowrap}.cal-weekday-long{display:none}.cal-month-kiosk .cal-weekday-long{display:inline}.cal-month-kiosk .cal-weekday-short{display:none}.cal-day{background:color-mix(in srgb,var(--day-color,transparent) 45%,var(--surface-strong));border-radius:14px;color:inherit;display:flex;flex-direction:column;gap:.2rem;min-height:5.75rem;padding:.4rem .5rem;position:relative;text-align:left;transition:transform .1s ease}.cal-day-empty{background:transparent}button.cal-day:hover{transform:translateY(-1px)}.cal-day-today{background:color-mix(in srgb,var(--day-color,transparent) 80%,var(--surface-strong));box-shadow:0 0 0 3px var(--surface-strong),0 0 0 5px var(--day-color,var(--primary))}.cal-day-past{opacity:.72}.cal-day-top{align-items:flex-start;display:flex;gap:.25rem;justify-content:space-between}.cal-day-number{color:color-mix(in srgb,var(--day-color,var(--text)) 45%,var(--text));font-family:var(--font-display);font-size:1.1rem;font-weight:600}.cal-day-today .cal-day-number{color:var(--text);font-size:1.35rem}.cal-day-weather{align-items:center;display:flex;font-size:1.1rem;gap:.15rem;line-height:1}.cal-day-badge,.cal-day-weather small{color:var(--muted);font-size:.7rem;font-weight:700}.cal-day-badge{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-day-events{display:flex;flex-direction:column;gap:.15rem;min-width:0}.cal-day-event{align-items:center;display:flex;font-size:.75rem;font-weight:700;gap:.25rem;min-width:0}.cal-day-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-day-more{color:var(--muted);font-size:.7rem;font-weight:800}.cal-day-stickers{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:auto}.cal-sticker{align-items:center;background:var(--surface-strong);border-radius:50%;box-shadow:0 0 0 2px var(--accent,var(--primary));display:inline-flex;font-size:.95rem;height:1.6rem;justify-content:center;line-height:1;width:1.6rem}.cal-sticker-auto{font-size:.8rem}.cal-sticker-big{font-size:1.6rem;height:2.6rem;width:2.6rem}.cal-month-kiosk{flex:1;min-height:0}.cal-month-kiosk .cal-head h2{font-size:2.125rem}.cal-month-kiosk .cal-grid{gap:.5rem}.cal-month-kiosk .cal-weekday{font-size:.85rem;padding:.35rem 0}.cal-day-kiosk{border-radius:16px;min-height:11vh;padding:.5rem .65rem}.cal-day-kiosk .cal-day-number{font-size:1.3rem}.cal-day-kiosk.cal-day-today .cal-day-number{font-size:1.9rem}.cal-day-kiosk .cal-day-weather{font-size:1.5rem}.cal-day-kiosk .cal-day-event{font-size:1.2rem}.cal-day-kiosk .cal-sticker{font-size:1.2rem;height:2rem;width:2rem}.cal-day-detail{display:flex;flex-direction:column;gap:.75rem}.cal-day-detail h3{font-size:1.05rem;margin-top:.5rem}.cal-day-status{align-self:flex-start;background:color-mix(in srgb,var(--day-color,var(--accent)) 55%,transparent);border-radius:999px;font-size:1.1rem;font-weight:800;padding:.35rem .9rem}.cal-event-list,.cal-sticker-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.cal-event-row{align-items:center;background:var(--surface-strong);border:2px solid var(--border);border-radius:var(--radius-sm);color:inherit;display:flex;gap:.75rem;padding:.6rem .8rem;text-align:left;width:100%}.cal-event-row:hover{border-color:var(--primary)}.cal-event-row-emoji{font-size:1.5rem}.cal-event-row-children{display:flex;gap:.25rem}.cal-sticker-row{align-items:center;display:flex;gap:.75rem;padding:.4rem 0}.cal-event-emoji{align-self:flex-end;font-size:1.8rem;height:3.2rem;width:3.2rem}.modal-day,.modal-event{width:min(560px,100%)}:root[data-section=calendrier] .kiosk-bar{padding:1rem 1.75rem .5rem}:root[data-section=calendrier] .kiosk-icon{background:transparent;box-shadow:none}.cal-kiosk{display:flex;flex:1;flex-direction:column;gap:.75rem;min-height:0;padding:.25rem 1.75rem 1.25rem}.cal-view-switch{background:var(--cal-rail);border-radius:999px;display:inline-grid;grid-template-columns:1fr 1fr 1fr;padding:5px}.cal-view-btn{align-items:center;border-radius:999px;color:var(--muted);display:flex;font-family:var(--font-display);font-size:1.3rem;font-weight:500;gap:.5rem;justify-content:center;padding:.55rem 1.25rem;transition:color .2s ease,background .2s ease;white-space:nowrap}.cal-view-btn .emoji-img{height:1.4rem;width:1.4rem}.cal-view-btn.active{background:#fff;box-shadow:0 2px 8px rgba(47,54,72,.1);color:var(--text)}.cal-today{display:flex;flex:1;flex-direction:column;gap:.75rem;min-height:0}.cal-band{align-items:center;display:grid;gap:.5rem;grid-template-columns:repeat(7,minmax(0,1fr));padding-top:.75rem}.cal-band-day{align-items:center;background:color-mix(in srgb,var(--day-color) 55%,var(--surface-strong));border-radius:14px;color:color-mix(in srgb,var(--day-color) 25%,var(--text));display:flex;font-family:var(--font-display);font-size:clamp(.9rem,1.5vw,1.15rem);font-weight:600;gap:.45rem;justify-content:center;line-height:1.15;min-height:3.25rem;min-width:0;padding:.6rem .5rem;position:relative;transition:transform .12s ease}.cal-band-day:hover{transform:translateY(-2px)}.cal-band-selected:not(.cal-band-today){box-shadow:0 0 0 3px var(--surface-strong),0 0 0 6px var(--day-color)}.cal-band-today{background:color-mix(in srgb,var(--day-color) 80%,var(--surface-strong));box-shadow:0 3px 10px rgba(50,80,140,.12);flex-direction:column;font-size:clamp(1.15rem,2vw,1.5rem);gap:.25rem;min-height:5rem;padding:.7rem .4rem}.cal-band-weekday{overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.cal-band-short{display:none}.cal-band-status{display:inline-flex;line-height:1}.cal-band-status .emoji-img{height:1.25rem;width:1.25rem}.cal-band-today .cal-band-status .emoji-img{height:1.6rem;width:1.6rem}.cal-band-kids{display:flex;left:-.7rem;position:absolute;top:-.9rem;z-index:1}.cal-band-kid{display:inline-flex;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));transform:rotate(-12deg)}.cal-band-kid .avatar{border:3px solid #fff}.cal-band-kid+.cal-band-kid{margin-left:-.7rem;transform:rotate(9deg)}.cal-today-body{display:grid;flex:1;gap:1rem;grid-template-columns:1.05fr 1fr;min-height:0}.cal-day-plank{background:color-mix(in srgb,var(--day-color) 22%,var(--surface-strong));border-radius:30px;display:flex;flex-direction:column;gap:.875rem;min-height:0;min-width:0;padding:1.25rem 1.5rem}.cal-date-row{align-items:center;display:flex;gap:1.125rem}.cal-date-num{font-family:var(--font-display);font-size:clamp(5rem,10vw,8.25rem);font-weight:600;line-height:.9}.cal-date-words{display:flex;flex-direction:column;gap:.25rem;min-width:0}.cal-date-weekday{color:color-mix(in srgb,var(--day-color) 60%,var(--text));font-size:clamp(2rem,3.6vw,2.875rem);text-transform:capitalize}.cal-date-month,.cal-date-weekday{font-family:var(--font-display);font-weight:500;line-height:1}.cal-date-month{color:color-mix(in srgb,var(--month-color) 70%,var(--text));font-size:clamp(1.5rem,2.6vw,2.125rem)}.cal-where{align-items:center;background:hsla(0,0%,100%,.5);border-radius:24px;display:flex;flex:1;gap:1.125rem;min-height:0;padding:.5rem 1rem}.cal-where-emoji{font-size:5rem;line-height:1}.cal-where-emoji .emoji-img{height:clamp(4rem,8vw,6rem);width:clamp(4rem,8vw,6rem)}.cal-where-text{display:flex;flex:1;flex-direction:column;gap:.15rem;min-width:0}.cal-where-word{font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,2.75rem);font-weight:500;line-height:1}.cal-where-sub{font-size:.95rem;font-weight:700}.cal-clock{flex-shrink:0}.cal-clock-face{fill:#fff;stroke:var(--primary);stroke-width:4}.cal-clock-number{fill:var(--text);font-family:var(--font-display);font-size:10px;font-weight:600}.cal-clock-hour{stroke:var(--text);stroke-width:5;stroke-linecap:round}.cal-clock-minute{stroke:var(--primary);stroke-width:4;stroke-linecap:round}.cal-clock-pin{fill:var(--text)}.cal-facts{display:grid;gap:.625rem;grid-template-columns:1.1fr 1fr 1fr}.cal-fact{align-items:center;background:hsla(0,0%,100%,.5);border-radius:20px;display:flex;flex-direction:column;gap:.375rem;justify-content:center;padding:.75rem;text-align:center}.cal-fact-span{grid-column:2/-1}.cal-fact-emoji{font-size:3.5rem;line-height:1}.cal-fact-emoji .emoji-img{height:3.5rem;width:3.5rem}.cal-fact-label{font-size:1.05rem;font-weight:800;line-height:1.15}.cal-fact-sub{font-size:.9rem;font-weight:700}.cal-feel-cold .cal-fact-label{color:#1c7ed6}.cal-feel-hot .cal-fact-label{color:#e8590c}.cal-seasons{flex-shrink:0;height:clamp(84px,10vw,126px);position:relative;width:clamp(84px,10vw,126px)}.cal-seasons svg{height:100%;inset:0;position:absolute;width:100%}.cal-seasons-ring{fill:none;stroke:color-mix(in srgb,var(--day-color) 45%,var(--surface-strong));stroke-width:4}.cal-season{display:grid;line-height:1;place-items:center;position:absolute}.cal-season .emoji-img{height:100%;width:100%}.cal-kids{display:flex;flex-direction:column;gap:.75rem;min-height:0;min-width:0;overflow-y:auto;scrollbar-width:thin}.cal-today-child{--accent:#74c0fc;background:color-mix(in srgb,var(--accent) 22%,var(--surface-strong));border-radius:26px;display:flex;flex:1 0 auto;flex-direction:column;gap:.5rem;min-width:0;padding:.75rem 1rem}.cal-today-child-head{align-items:center;display:flex;gap:1rem}.cal-today-child-head .avatar{background:#fff!important;box-shadow:none;font-size:2.625rem;height:4.5rem;width:4.5rem}.cal-today-child-name{flex:1;font-size:2.25rem;font-weight:500;line-height:1.05;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-routine-done{align-items:center;animation:pop .6s cubic-bezier(.34,1.56,.64,1);background:var(--accent);border-radius:999px;box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 45%,transparent);color:#fff;display:flex;font-family:var(--font-display);font-size:1.375rem;font-weight:500;gap:.6rem;line-height:1;padding:.375rem 1.125rem .375rem .5rem;white-space:nowrap}.cal-routine-done-star{background:#fff;border-radius:50%;display:grid;height:2.25rem;place-items:center;width:2.25rem}.cal-routine-done-star .emoji-img{height:1.6rem;width:1.6rem}.cal-child-events{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.cal-child-event{align-items:center;background:var(--surface-strong);border-radius:18px;display:flex;gap:.625rem;min-width:0;padding:.5rem .75rem}.cal-child-event-emoji{font-size:2.2rem;line-height:1}.cal-child-event-emoji .emoji-img{height:2.5rem;width:2.5rem}.cal-child-event-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.cal-child-event-title{font-size:.95rem;line-height:1.15}.cal-child-event-when{color:var(--muted);font-size:.82rem;font-weight:800}.cal-child-events-empty{font-size:.95rem;font-weight:700;padding:.25rem .25rem .5rem}.cal-dodos{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem}.cal-dodos i{background:color-mix(in srgb,var(--accent) 22%,var(--surface-strong));border-radius:50%;color:var(--text);display:grid;font-family:var(--font-display);font-size:.65rem;font-style:normal;font-weight:600;height:1.125rem;line-height:1;place-items:center;width:1.125rem}.cal-dodos i.big{background:var(--accent);color:#fff;font-size:.9rem;height:1.5rem;width:1.5rem}.cal-week-view{display:flex;flex:1;flex-direction:column;gap:.75rem;min-height:0}.cal-week{align-items:stretch;display:grid;flex:1;gap:.625rem;min-height:0}.cal-week-day{align-items:center;background:color-mix(in srgb,var(--day-color) 50%,var(--surface-strong));border-radius:24px;display:flex;flex-direction:column;gap:.5rem;min-width:0;overflow:hidden;padding:.75rem .5rem}.cal-week-past{opacity:.75}.cal-week-today{background:color-mix(in srgb,var(--day-color) 80%,var(--surface-strong));box-shadow:0 4px 14px rgba(50,80,140,.14);gap:.625rem;padding:1rem .75rem}.cal-week-name{color:color-mix(in srgb,var(--day-color) 55%,var(--text));font-family:var(--font-display);font-size:clamp(.95rem,1.6vw,1.2rem);font-weight:500;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.cal-tone-off .cal-week-name{color:color-mix(in srgb,var(--cal-month-9) 55%,var(--text))}.cal-week-today .cal-week-name{font-size:clamp(1.4rem,2.6vw,1.9rem)}.cal-week-num{font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:600;line-height:1}.cal-week-today .cal-week-num{font-size:clamp(3.5rem,7vw,5.25rem)}.cal-week-month{color:color-mix(in srgb,var(--day-color) 55%,var(--text));font-family:var(--font-display);font-size:1.25rem;font-weight:500;line-height:1}.cal-week-weather{align-items:center;display:flex;font-size:.95rem;font-weight:800;gap:.4rem;line-height:1}.cal-week-weather .emoji-img{height:1.75rem;width:1.75rem}.cal-week-today .cal-week-weather .emoji-img{height:2.5rem;width:2.5rem}.cal-week-feel{align-items:center;background:var(--surface-strong);border-radius:999px;display:flex;font-size:.9rem;font-weight:800;gap:.3rem;line-height:1.1;padding:.35rem .8rem .35rem .5rem;text-align:left}.cal-week-feel .emoji-img{height:1.75rem;width:1.75rem}.cal-week-status{align-items:center;display:flex;flex-direction:column;font-size:.9rem;font-weight:800;gap:.15rem;line-height:1;text-align:center}.cal-week-status .emoji-img{height:2.5rem;width:2.5rem}.cal-week-today .cal-week-status{font-size:1.375rem}.cal-week-today .cal-week-status .emoji-img{height:4rem;width:4rem}.cal-week-events{flex-direction:column;list-style:none;margin:0;padding:0}.cal-week-event,.cal-week-events{align-items:center;display:flex;gap:.35rem;max-width:100%}.cal-week-event{background:var(--surface-strong);border-radius:999px;box-shadow:0 0 0 2px var(--accent,transparent);font-size:.75rem;font-weight:800;line-height:1.1;padding:.3rem .65rem .3rem .4rem}.cal-week-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-week-event .emoji-img{height:1.25rem;width:1.25rem}.cal-week-today .cal-week-event{font-size:.95rem;padding:.4rem .8rem .4rem .5rem}.cal-week-today .cal-week-event .emoji-img{height:1.6rem;width:1.6rem}.cal-week-foot{display:flex;gap:.75rem}.cal-next{--accent:var(--primary);align-items:center;background:color-mix(in srgb,var(--accent) 22%,var(--surface-strong));border-radius:24px;display:flex;flex:1;gap:.875rem;min-width:0;padding:.625rem 1.125rem}.cal-next-holiday{background:color-mix(in srgb,var(--cal-tone-off) 60%,var(--surface-strong))}.cal-next-emoji{font-size:2.5rem;line-height:1}.cal-next-emoji .emoji-img{height:2.75rem;width:2.75rem}.cal-next-text{display:flex;flex:1;flex-direction:column;font-size:1.05rem;gap:.1rem;min-width:0}.cal-next-text .muted{font-size:.85rem;font-weight:800}.cal-next-text .muted:first-letter{text-transform:uppercase}.cal-next-count{font-family:var(--font-display);font-size:1.25rem;font-weight:500;white-space:nowrap}@media (max-width:1000px){.cal-parent{grid-template-columns:1fr}}@media (max-width:860px){.cal-today-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.cal-day-plank{gap:.6rem;padding:1rem 1.125rem}.cal-where{padding:.5rem .75rem}.cal-kids{overflow:visible}.cal-view-btn{font-size:1.05rem;padding:.5rem .8rem}.cal-day-kiosk{min-height:56px}.cal-day-kiosk .cal-day-event{font-size:.9rem}.cal-month-kiosk .cal-weekday-long{display:none}.cal-month-kiosk .cal-weekday-short{display:inline}.cal-week-day{gap:.4rem;padding:.6rem .3rem}.cal-week-event span{display:none}.cal-week-today .cal-week-event span{display:inline}}@media (max-width:720px){.cal-parent{gap:.75rem;margin:0 1rem 1.5rem}.cal{padding:.75rem}.cal-day{min-height:48px;padding:.25rem .35rem}.cal-weekday{letter-spacing:0}.cal-day-event,.cal-weekday{font-size:.7rem}.cal-day-weather small{display:none}.cal-day-kiosk .cal-day-top{flex-wrap:wrap}.cal-day-kiosk .cal-day-weather{font-size:1.15rem}.cal-kiosk{padding:.25rem .75rem .75rem}:root[data-section=calendrier] .kiosk-bar{padding:.6rem .75rem .25rem}.cal-view-btn .cal-view-label{display:none}.cal-view-btn{padding:.5rem .9rem}.cal-band{gap:.25rem;padding-top:1.4rem}.cal-band-day{flex-direction:column;font-size:.8rem;gap:.2rem;padding:.4rem .1rem}.cal-band-today{font-size:1.05rem;min-height:4rem;padding:.5rem .1rem}.cal-band-long{display:none}.cal-band-short{display:inline}.cal-band-kids{left:50%;top:-1.2rem;transform:translateX(-50%)}.cal-band-kid .avatar{border-width:2px;font-size:1rem;height:1.6rem;width:1.6rem}.cal-date-num{font-size:4rem}.cal-date-weekday{font-size:1.6rem}.cal-date-month{font-size:1.2rem}.cal-where-word{font-size:1.6rem}.cal-where-emoji .emoji-img{height:3.5rem;width:3.5rem}.cal-clock{height:64px;width:64px}.cal-facts{gap:.4rem}.cal-fact{padding:.5rem .35rem}.cal-fact-label{font-size:.85rem}.cal-fact-emoji .emoji-img{height:2.5rem;width:2.5rem}.cal-today-child-head .avatar{font-size:1.9rem;height:3.25rem;width:3.25rem}.cal-today-child-name{font-size:1.6rem}.cal-routine-done{font-size:1rem;padding:.25rem .8rem .25rem .3rem}.cal-routine-done-star{height:1.75rem;width:1.75rem}.cal-child-events{grid-template-columns:1fr}.cal-week{align-content:start;flex:0 0 auto;gap:.4rem;grid-template-columns:1fr!important}.cal-week-day,.cal-week-today{border-radius:16px;flex-direction:row;gap:.75rem;justify-content:flex-start;padding:.5rem .75rem}.cal-week-name{font-size:1rem;text-align:left;width:5.5rem}.cal-week-today .cal-week-name{font-size:1.2rem}.cal-week-num,.cal-week-today .cal-week-num{font-size:1.6rem;text-align:center;width:2.2rem}.cal-week-feel,.cal-week-month{display:none}.cal-week-status{flex-direction:row;font-size:.85rem;gap:.35rem}.cal-week-status .emoji-img,.cal-week-today .cal-week-status .emoji-img{height:1.6rem;width:1.6rem}.cal-week-today .cal-week-status{font-size:.95rem}.cal-week-events{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.cal-week-foot{flex-direction:column;gap:.5rem}.cal-next{gap:.6rem;padding:.5rem .75rem}.cal-next-text{font-size:.95rem}}html:root[data-section=echecs]{--bg:#fff;--bg-gradient:none;--echecs-panel:#f8f8fb;--echecs-tint:color-mix(in srgb,#d9480f 12%,#fff)}:root[data-section=echecs] .family-menu-btn{background:var(--echecs-panel);box-shadow:none}:root[data-section=echecs] .kiosk-bar{padding:1rem 1.75rem .5rem}:root[data-section=echecs] .kiosk-icon{background:var(--echecs-panel);box-shadow:none}:root[data-section=echecs] .kiosk-title{display:none}.setup-label{color:var(--muted);font-size:.8rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.echecs-btn-white{background:#fff;box-shadow:none}.echecs-parent{gap:1rem;margin:0 1.5rem 2rem}.echecs-parent,.echecs-planche{display:flex;flex-direction:column}.echecs-planche{--accent:#74c0fc;background:color-mix(in srgb,var(--accent) 22%,var(--surface-strong));border-radius:26px;gap:.75rem;padding:1rem 1.125rem 1.125rem}.echecs-planche-head{align-items:center;display:flex;gap:.75rem}.echecs-planche-head .avatar{box-shadow:none}.echecs-planche-head h2{flex:1;font-size:1.5rem;font-weight:500;margin:0}.echecs-stats{flex-wrap:wrap;gap:.5rem 1.4rem}.echecs-stat,.echecs-stats{align-items:center;display:flex}.echecs-stat{font-size:.9rem;font-weight:800;gap:.5rem}.echecs-stat-pearl{background:var(--accent);border-radius:50%;color:#fff;display:grid;font-family:var(--font-display);font-size:1.25rem;font-weight:600;height:2.5rem;place-items:center;width:2.5rem}.echecs-planche-grid{align-items:start;display:grid;gap:.9rem;grid-template-columns:1.2fr 1fr}.echecs-block{display:flex;flex-direction:column;gap:.5rem;min-width:0}.echecs-block p{margin:0}.echecs-pieces{background:hsla(0,0%,100%,.6);border-radius:20px;display:flex;gap:.125rem;overflow-x:auto;padding:.6rem .375rem;scrollbar-width:thin}.echecs-piece{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.25rem;min-height:5.6rem;width:4.9rem}.echecs-piece.locked .piece-icon{filter:grayscale(1);opacity:.35}.echecs-piece-name{color:var(--muted);font-size:.7rem;font-weight:900}.echecs-piece-check{background:var(--accent);border-radius:50%;color:#fff;display:grid;height:1.4rem;place-items:center;width:1.4rem}.echecs-piece-badge,.piece-stop-badge{background:#fff;border-radius:999px;color:var(--muted);font-size:.65rem;font-weight:900;padding:.1rem .5rem;white-space:nowrap}.echecs-open-row{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.echecs-open-next{font-size:.85rem}.echecs-monster-row{align-items:center;background:hsla(0,0%,100%,.6);border-radius:18px;display:flex;flex-wrap:wrap;gap:.75rem;padding:.6rem .875rem}.echecs-monster-row.gone{opacity:.75}.echecs-monster-emoji{flex-shrink:0;font-size:2.5rem;line-height:1}.echecs-monster-emoji .emoji{display:block}.echecs-monster-text{display:flex;flex:1;flex-direction:column;gap:.1rem;min-width:8rem}.echecs-monster-actions{display:flex;flex-wrap:wrap;gap:.4rem}.echecs-monster-actions .btn{font-size:.85rem}.echecs-rules-planche{background:var(--echecs-panel);border-radius:26px;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.125rem 1.125rem}.echecs-rules-planche h2{font-size:1.25rem;font-weight:500;margin:0}.echecs-rules-planche p{margin:0}.echecs-children-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.modal-echecs-monster{width:min(680px,100%)}.echecs-editor-head{align-items:center;display:flex;gap:.75rem}.echecs-editor-head p{margin:0}.echecs-editor-row{background:var(--echecs-panel);border-radius:20px;gap:.5rem;padding:.8rem 1rem}.echecs-editor-label,.echecs-editor-row{display:flex;flex-direction:column}.echecs-editor-label small{color:var(--muted);font-weight:700}.echecs-editor-row input[type=text]{background:#fff;border:1px solid var(--border);border-radius:14px;font:inherit;font-weight:800;padding:.6rem .8rem}.pawn-rules{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));list-style:none;margin:0;padding:0}.pawn-rules li{align-items:center;background:#fff;border-radius:20px;display:flex;gap:.75rem;line-height:1.3;padding:.65rem .9rem}.pawn-rule-icon{background:var(--echecs-tint,color-mix(in srgb,#d9480f 12%,#fff));border-radius:14px;color:#d9480f;display:grid;flex-shrink:0;height:2.5rem;place-items:center;width:2.5rem}.pawn-rule-text{display:flex;flex-direction:column;gap:.1rem}.pawn-rule-text strong{font-size:.95rem}.pawn-rule-text span{color:var(--muted);font-size:.8rem;font-weight:700}.pawn-rules-compact{display:flex;flex-wrap:wrap;gap:.5rem}.pawn-rules-compact li{background:var(--echecs-panel);border-radius:16px;gap:.5rem;padding:.45rem .75rem}.pawn-rules-compact .pawn-rule-icon{border-radius:10px;height:2rem;width:2rem}.pawn-rules-compact .pawn-rule-text strong{font-size:.85rem;font-weight:800}.chess-board{--white-base:#ff8fab;--black-base:#7048e8;display:block;height:100%;-webkit-user-select:none;user-select:none;width:100%}.chess-frame{fill:color-mix(in srgb,#d9480f 12%,#fff)}.chess-tile.light{fill:#fff}.chess-tile.dark{fill:color-mix(in srgb,#d9480f 30%,#fff)}.chess-tile.goal-white.light{fill:color-mix(in srgb,var(--white-base) 22%,#fff)}.chess-tile.goal-white.dark{fill:color-mix(in srgb,var(--white-base) 40%,#fff)}.chess-tile.goal-black.light{fill:color-mix(in srgb,var(--black-base) 22%,#fff)}.chess-tile.goal-black.dark{fill:color-mix(in srgb,var(--black-base) 40%,#fff)}.chess-cell.interactive{cursor:pointer}.chess-board.draggable{touch-action:none;-webkit-user-select:none;user-select:none}.chess-last{fill:none;stroke:#ffd93d;stroke-width:5}.chess-last,.chess-target{pointer-events:none}.chess-target-dot{fill:var(--primary,#d9480f);animation:target-pulse .9s ease-in-out infinite alternate;opacity:.85}.chess-target-dot,.chess-target-ring{transform-box:fill-box;transform-origin:center}.chess-target-ring{fill:none;stroke:var(--primary,#d9480f);stroke-width:8;stroke-dasharray:16 9;animation:target-spin 5s linear infinite}@keyframes target-pulse{0%{transform:scale(.85)}to{transform:scale(1.15)}}@keyframes target-spin{to{transform:rotate(1turn)}}.pawn{pointer-events:none;transition:transform .42s cubic-bezier(.3,1.35,.5,1)}.piece-body{animation:piece-breathe 2.6s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 92%;transition:transform .18s ease,filter .18s ease}.pawn.can-move .piece-body{animation:piece-wiggle 1.4s ease-in-out infinite}.pawn.selected .piece-body{animation:none;filter:drop-shadow(0 0 7px #ffd93d) drop-shadow(0 6px 6px rgba(0,0,0,.2));transform:scale(1.14) translateY(-6px)}.pawn.dragging{transition:none}.pawn.dragging .piece-body{animation:none;filter:drop-shadow(0 0 7px #ffd93d) drop-shadow(0 12px 10px rgba(0,0,0,.25));transform:scale(1.22) translateY(-10px)}.pawn.winner .piece-body{animation:piece-jump .7s ease-in-out infinite alternate}.pawn-crown{font-size:30px}.pawn-captured{transition:none}.pawn-captured .piece-body{animation:piece-taken .7s ease-in forwards}@keyframes piece-breathe{0%{transform:translateY(0) scale(1)}to{transform:translateY(-3px) scale(1.02,.98)}}@keyframes piece-wiggle{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-5px) rotate(-5deg)}60%{transform:translateY(-2px) rotate(5deg)}}@keyframes piece-jump{0%{transform:translateY(0) scale(1)}to{transform:translateY(-10px) scale(1.08)}}@keyframes piece-taken{0%{opacity:1;transform:scale(1) rotate(0)}35%{opacity:1;transform:scale(1.2) rotate(-12deg)}to{opacity:0;transform:scale(.2) rotate(40deg) translateY(-80px)}}.piece-icon{display:inline-block;flex-shrink:0;overflow:visible;vertical-align:middle}.piece-icon .piece-body{animation:none}.piece-icon-idle .piece-body{animation:piece-breathe 2.6s ease-in-out infinite alternate}.echecs-kiosk{display:flex;flex:1;flex-direction:column;min-height:0;overflow-y:auto;padding:.25rem 1.75rem 1rem}.echecs-kiosk-empty{color:var(--muted);font-weight:700;padding:2rem;text-align:center}.echecs-setup{--accent:#74c0fc;gap:.9rem;margin:0 auto;max-width:1180px;padding-bottom:.5rem;width:100%}.echecs-setup,.setup-block{display:flex;flex-direction:column}.setup-block{gap:.3rem;min-width:0}.echecs-opponents{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center}.echecs-opponent-pick{align-items:center;background:transparent;border:0;border-radius:24px;color:inherit;display:flex;flex-direction:column;gap:.15rem;padding:.25rem;text-align:center;width:12rem}.echecs-opponent-pick:disabled{opacity:.55}.echecs-opponent-pick:not(.selected) .echecs-pick-bubble{opacity:.85}.echecs-pick-bubble{border-radius:50%;display:block;outline:4px solid transparent;outline-offset:-2px;transition:outline-color .2s ease}.echecs-pick-bubble.selected{outline-color:var(--accent)}.echecs-opponents .echecs-bubble,.echecs-opponents .monster-bubble{--bubble:7.6rem;height:var(--bubble);width:var(--bubble)}.echecs-opponents .echecs-bubble,.echecs-opponents .echecs-opponent-pick:not(.selected) .monster-bubble{animation:none}.echecs-pick-hearts{align-items:center;display:flex;min-height:2rem}.echecs-pick-name{font-family:var(--font-display);font-size:1.25rem;font-weight:500}.echecs-pick-hint{color:var(--muted);font-size:.75rem;font-weight:700;line-height:1.3}.echecs-pick-child .avatar{box-shadow:none}.echecs-bubble{display:block;height:var(--bubble,8rem);position:relative;width:var(--bubble,8rem)}.echecs-bubble .bubble-shape{height:100%;inset:0;position:absolute;width:100%}.echecs-bubble-content{display:grid;inset:0;place-items:center;position:absolute}.echecs-parent-face{background:hsla(0,0%,100%,.7);border-radius:50%;display:grid;font-size:2.6rem;height:4.2rem;line-height:1;place-items:center;width:4.2rem}.echecs-parent-face .emoji{display:block}.piece-path-scroll{-webkit-overflow-scrolling:touch;border-radius:20px;mask-image:linear-gradient(90deg,#000 calc(100% - 70px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 70px),transparent);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;width:100%}.piece-path{color:color-mix(in srgb,#d9480f 32%,#fff);position:relative}.piece-path-line{left:0;pointer-events:none;position:absolute;top:0}.piece-stop{align-items:center;background:transparent;border:0;color:inherit;display:flex;flex-direction:column;gap:.15rem;padding:0;position:absolute;transform:translateX(-50%);width:calc(var(--stop) + 2rem)}.piece-stop-bubble{--bubble:var(--stop);border-radius:50%;outline:4px solid transparent;outline-offset:-2px;transition:outline-color .2s ease}.piece-stop.selected .piece-stop-bubble{outline-color:var(--accent)}.piece-stop-name{font-family:var(--font-display);font-size:1.15rem;font-weight:500;white-space:nowrap}.piece-stop-locked .piece-stop-name{color:var(--muted);font-size:.95rem}.piece-stop-locked .piece-icon{filter:grayscale(1);opacity:.45}.piece-stop-lock{background:#fff;border-radius:50%;bottom:8%;color:var(--muted);display:grid;height:1.6rem;place-items:center;position:absolute;right:8%;width:1.6rem}.piece-stop-badge{align-items:center;background:var(--echecs-panel);display:inline-flex;font-size:.7rem;gap:.2rem}.piece-stop-learned{background:transparent}.piece-stop-learned svg{color:var(--accent)}.setup-bottom{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between}.echecs-sizes{display:flex;flex-wrap:wrap;gap:.75rem}.echecs-size-pick{align-items:center;background:var(--echecs-panel);border:0;border-radius:20px;color:inherit;display:flex;gap:.75rem;outline:4px solid transparent;outline-offset:-4px;padding:.6rem 1rem .6rem .6rem;text-align:left;transition:outline-color .2s ease}.echecs-size-pick.selected{outline-color:var(--primary)}.echecs-size-preview{display:block;flex-shrink:0;height:4.5rem;width:4.5rem}.echecs-size-preview .chess-board{height:100%}.echecs-size-preview .piece-body{animation:none}.echecs-size-text{display:flex;flex-direction:column}.echecs-size-text strong{font-family:var(--font-display);font-size:1rem;font-weight:500}.echecs-size-text small{color:var(--muted);font-size:.75rem;font-weight:700}.setup-rules{align-items:flex-end}.setup-rules-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.echecs-review{background:var(--echecs-panel);box-shadow:none;font-size:.9rem}.echecs-start{align-self:center;gap:.6rem;margin-top:.25rem}.echecs-tutorial{--accent:#74c0fc;align-items:center;display:flex;flex:1;flex-direction:column;gap:1.1rem;justify-content:center;min-height:0;padding:0 1rem 1.5rem}.tutorial-head{gap:.6rem}.tutorial-body,.tutorial-head{align-items:center;display:flex}.tutorial-body{flex-wrap:wrap;gap:3rem;justify-content:center}.tutorial-board{flex-shrink:0;width:min(418px,44vh,80vw)}.tutorial-board .chess-board{height:auto}.tutorial-text{display:flex;flex-direction:column;gap:.9rem;max-width:420px}.tutorial-icon{background:var(--echecs-tint,color-mix(in srgb,#d9480f 12%,#fff));border-radius:26px;color:#d9480f;display:grid;height:5.25rem;place-items:center;width:5.25rem}.tutorial-text h2{font-size:clamp(2rem,5vh,2.75rem);font-weight:500;line-height:1.05;margin:0}.tutorial-text p{font-size:clamp(1.1rem,2.8vh,1.4rem);font-weight:700;line-height:1.35;margin:0}.tutorial-dots{display:flex;gap:.6rem}.tutorial-dot{background:color-mix(in srgb,#d9480f 25%,#fff);border-radius:999px;height:.9rem;transition:width .25s ease,background-color .25s ease;width:.9rem}.tutorial-dot.active{background:var(--primary);width:2.1rem}.tutorial-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.tutorial-prev,.tutorial-skip{background:var(--echecs-panel);box-shadow:none}.echecs-game{flex:1;flex-direction:column;gap:.6rem}.echecs-board-wrap,.echecs-game{align-items:center;display:flex;min-height:0}.echecs-board-wrap{flex:1;justify-content:center;position:relative;width:100%}.echecs-board-wrap .chess-board{max-height:100%;max-width:100%}.echecs-game-monster{align-items:stretch;display:grid;gap:1.75rem;grid-template-columns:minmax(0,1fr) minmax(17rem,24rem);margin:0 auto;max-width:1180px;padding-bottom:.5rem;width:100%}.echecs-side{display:flex;flex-direction:column;gap:.9rem;min-height:0;min-width:0}.echecs-opponent-panel{--accent:#7048e8;align-items:center;background:var(--echecs-panel);border-radius:26px;display:flex;flex:1;flex-direction:column;gap:.35rem;justify-content:center;min-height:0;padding:.75rem;text-align:center}.echecs-opponent-bubble .monster-bubble{--bubble:clamp(150px,28vh,210px);height:var(--bubble);width:var(--bubble)}.echecs-opponent-panel .hearts-sm .heart{font-size:1.9rem;height:2.4rem;width:2.4rem}.echecs-opponent-name{font-family:var(--font-display);font-size:1.6rem;font-weight:500}.echecs-opponent-hint{color:var(--muted);font-size:.85rem;font-weight:700;line-height:1.3;margin:0}.echecs-player-line{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.echecs-player-planche{--accent:#74c0fc;align-items:center;background:color-mix(in srgb,var(--accent) 22%,#fff);border-radius:26px;display:flex;gap:.875rem;outline:4px solid transparent;outline-offset:-4px;padding:1rem 1.125rem;transition:outline-color .2s ease;width:100%}.echecs-player-planche.active{outline-color:var(--accent)}.echecs-player-planche .avatar{box-shadow:none}.echecs-player-body{display:flex;flex:1;flex-direction:column;gap:.3rem;min-width:0}.echecs-player-name{font-size:2rem;line-height:1.1}.echecs-player-name,.echecs-turn-pill{font-family:var(--font-display);font-weight:500}.echecs-turn-pill{animation:turn-blink 1s ease-in-out infinite alternate;background:var(--accent);border-radius:999px;color:#fff;font-size:1.2rem;padding:.35rem 1rem;white-space:nowrap}@keyframes turn-blink{0%{opacity:.65}to{opacity:1}}.echecs-player-thin{gap:.75rem;padding:.6rem 1rem;width:min(100%,640px)}.echecs-player-thin .echecs-player-name{font-size:1.5rem}.echecs-player-thin .echecs-turn-pill{font-size:1rem;padding:.3rem .85rem}.echecs-player-planche.flipped{transform:rotate(180deg)}.echecs-game-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.echecs-game-actions .btn{background:var(--echecs-panel);box-shadow:none}.echecs-pearls{align-items:center;display:flex;flex-wrap:wrap;gap:.3rem;min-height:2rem}.echecs-pearl{background:hsla(0,0%,100%,.8);border-radius:50%;display:grid;height:2rem;place-items:center;width:2rem}.echecs-pearls-label{color:var(--muted);font-size:.8rem;font-weight:800;margin-left:.2rem}.echecs-notice{animation:notice-in .3s ease-out;background:#fff;border-radius:24px;box-shadow:var(--shadow);font-family:var(--font-display);font-size:1.4rem;left:50%;padding:.8rem 1.4rem;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,-40%)}}.echecs-end{align-items:center;animation:notice-in-fade .3s ease-out;background:rgba(34,48,74,.35);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:500}@keyframes notice-in-fade{0%{opacity:0}}.echecs-end-card{align-items:center;background:#fff;border-radius:30px;display:flex;flex-direction:column;gap:.6rem;max-height:100%;overflow-y:auto;padding:1.5rem 1.5rem 1.75rem;text-align:center;width:min(100%,560px)}.echecs-end-emoji{animation:piece-jump .8s ease-in-out infinite alternate;font-size:4rem;line-height:1}.echecs-end-emoji .emoji{display:block}.echecs-end-card h2{font-size:1.7rem;font-weight:500;margin:0;max-width:24ch}.echecs-end-card p{font-size:1.1rem;font-weight:700;margin:0}.echecs-end-line{font-family:var(--font-display);font-size:1.15rem;font-weight:500}.echecs-end-line strong{color:#7048e8;font-weight:600}.echecs-end-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:.5rem}.echecs-end-actions .btn:not(.btn-primary){background:var(--echecs-panel);box-shadow:none}.echecs-hit-scene{--accent:#74c0fc;align-items:center;display:flex;flex-direction:column;gap:.25rem}.echecs-hit-figures{align-items:flex-end;display:flex}.echecs-hit-figures .hero-figure{font-size:11px}.echecs-hit-figures .monster-bubble{--bubble:170px;animation:none;height:170px;width:170px}.echecs-hit-scene .hearts-lg .heart{font-size:2.2rem;height:3rem;width:3rem}.landing-echecs .hero-visual{transform:none}.mock-chess{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 auto;max-width:420px;padding:1.25rem}.mock-chess .chess-board{height:auto}.landing-echecs .pawn-rules{margin-top:1rem}@media (max-width:960px){.echecs-game-monster,.echecs-planche-grid{grid-template-columns:1fr}.echecs-game-monster{gap:.75rem;grid-template-rows:minmax(0,1fr) auto}.echecs-side{align-items:stretch;flex-direction:row;flex-wrap:wrap}.echecs-opponent-panel{flex:1 1 14rem}.echecs-side .echecs-player-planche{flex:1 1 16rem;width:auto}.echecs-game-actions{justify-content:center;width:100%}.echecs-opponent-bubble .monster-bubble{--bubble:120px}.tutorial-body{gap:1.25rem}}@media (max-width:720px){.echecs-parent{margin:0 1rem 2rem}.echecs-planche{padding:.75rem}.echecs-kiosk{padding:.25rem .75rem .75rem}.echecs-opponent-pick{width:9rem}.echecs-opponents .echecs-bubble,.echecs-opponents .monster-bubble{--bubble:6.5rem}.echecs-player-name{font-size:1.4rem}.echecs-side{flex-direction:column}.echecs-opponent-panel{flex-direction:row;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}.echecs-opponent-bubble .monster-bubble{--bubble:96px}.echecs-end-card h2{font-size:1.4rem}.echecs-hit-figures .hero-figure{font-size:9px}.echecs-hit-figures .monster-bubble{--bubble:130px;height:130px;width:130px}}.guide{display:flex;flex-direction:column;gap:2.25rem;line-height:1.65;margin:0 auto;max-width:76ch;padding-top:1rem;width:100%}.guide-head h1,.guides-hero h1{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.15;margin-bottom:1rem}.guide-head .lead{margin-bottom:1rem;max-width:none}.guide-meta{color:var(--muted);font-size:.95rem;font-weight:700}.guide-section{display:flex;flex-direction:column;gap:1rem;scroll-margin-top:1rem}.landing .guide-section>h2{margin-bottom:0;text-align:left}.guide-section h3{font-size:1.15rem}.guide a:not(.btn){color:var(--primary);text-decoration:underline;text-underline-offset:2px}.guide-list{display:flex;flex-direction:column;gap:.45rem;margin:0;padding-left:1.4rem}.guide-tip{align-items:flex-start;background:#fff7d6;border-radius:var(--radius-sm);display:flex;font-weight:600;gap:.9rem;padding:1rem 1.25rem}.guide-tip>.emoji{flex-shrink:0;font-size:1.6rem}.guide-quote{background:var(--surface);border-left:5px solid var(--primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin:0;padding:1.1rem 1.4rem}.guide-quote blockquote{font-size:1.05rem;font-style:italic;margin:0}.guide-quote figcaption{color:var(--muted);font-weight:700;margin-top:.5rem}.guide-table-wrap{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow-x:auto}.guide-table{border-collapse:collapse;font-size:.95rem;line-height:1.45;min-width:520px;width:100%}.guide-table td,.guide-table th{border-bottom:1px solid var(--border);padding:.7rem .9rem;text-align:left;vertical-align:top}.guide-table thead th{background:rgba(79,140,255,.08);font-family:var(--font-display);font-weight:600}.guide-table tbody th{font-weight:800}.guide-table tr:last-child>*{border-bottom:0}.guide-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.guide-card{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.4rem;line-height:1.5;padding:1.1rem 1.2rem}.guide-card>.emoji{font-size:1.8rem}.guide-card p{color:var(--muted)}.guide-routine{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:1.1rem 1.3rem}.guide-routine h3{margin-bottom:.6rem}.guide-routine ol{counter-reset:step;display:grid;font-weight:700;gap:.45rem .9rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));line-height:1.35;list-style:none;margin:0;padding:0}.guide-routine li{align-items:center;counter-increment:step;display:flex;gap:.55rem}.guide-routine li:before{background:rgba(79,140,255,.12);border-radius:50%;color:var(--primary);content:counter(step);display:grid;flex-shrink:0;font-size:.85rem;height:1.6rem;place-items:center;width:1.6rem}.guide-routine .emoji{font-size:1.35rem}.guide-toc{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:1rem 1.3rem}.guide-toc p{font-weight:800;margin-bottom:.4rem}.guide-toc ol{display:flex;flex-direction:column;gap:.2rem;margin:0;padding-left:1.3rem}.guide-download{align-items:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:1.5rem;grid-template-columns:minmax(0,190px) minmax(0,1fr);padding:1.4rem}.guide-download-preview img{background:#fff;border-radius:10px;box-shadow:var(--shadow-sm);display:block;height:auto;width:100%}.landing .guide-download h2{font-size:1.35rem;margin:0 0 .4rem;text-align:left}.guide-download .eyebrow{margin-bottom:.35rem}.guide-download p:not(.eyebrow){color:var(--muted)}.guide-sources ul{display:flex;flex-direction:column;font-size:.95rem;gap:.3rem;margin:0;padding-left:1.3rem}.guide-author{align-items:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;gap:1rem;padding:1.2rem 1.4rem}.guide-author>.emoji{flex-shrink:0;font-size:2.4rem}.guide-link-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.guide-link-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text);display:flex;flex-direction:column;gap:.45rem;padding:1.2rem 1.3rem;transition:transform .15s ease,box-shadow .15s ease}.guide-link-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.guide-link-card>.emoji{font-size:2rem}.guide-link-title{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.guide-link-text{color:var(--muted);font-size:.95rem;line-height:1.45}.guide-link-badge{align-self:flex-start;background:#fff7d6;border-radius:999px;color:#7a5f00;font-size:.8rem;font-weight:800;margin-top:auto;padding:.15rem .6rem}.guides-hero{max-width:76ch;padding-top:1.5rem;text-align:center}.guides-hero,.guides-hero .lead{margin:0 auto}.pdf-library{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.pdf-tile{display:flex;flex-direction:column;font-size:.95rem;font-weight:700;gap:.5rem;line-height:1.35}.pdf-tile img{aspect-ratio:794/1123;background:#fff;border-radius:10px;box-shadow:var(--shadow-sm);display:block;height:auto;object-fit:cover;width:100%}.pdf-tile-links{display:flex;flex-wrap:wrap;font-size:.85rem;gap:.75rem}.pdf-tile-links a{color:var(--primary);text-decoration:underline}section.generator{align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.generator-form{gap:1rem}.gen-block,.generator-form{display:flex;flex-direction:column}.gen-block{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:.75rem;padding:1.1rem 1.25rem}.gen-block-off{opacity:.75}.gen-block-title{align-items:center;display:flex;font-family:var(--font-display);font-size:1.2rem;font-weight:600;gap:.5rem}.gen-field{display:flex;flex-direction:column;font-weight:700;gap:.3rem}.gen-field>span{color:var(--muted);font-size:.9rem}.gen-inline{align-items:center;flex-direction:row;justify-content:space-between}.gen-input{background:var(--surface-strong);border:2px solid var(--border);border-radius:var(--radius-sm);color:inherit;font:inherit;min-width:0;padding:.55rem .8rem}.gen-input:focus{border-color:var(--primary);outline:none}.gen-check{align-items:center;cursor:pointer;display:flex;font-weight:700;gap:.6rem}.gen-check input{accent-color:var(--primary);height:1.2rem;width:1.2rem}.gen-tasks{flex-direction:column;list-style:none;margin:0;padding:0}.gen-task,.gen-tasks{display:flex;gap:.35rem}.gen-task{align-items:center}.gen-task>.emoji{flex-shrink:0;font-size:1.4rem}.gen-task .gen-input{flex:1}.gen-add{display:flex;gap:.35rem}.gen-add .gen-input{flex:1}.gen-add .gen-emoji-input{flex:0 0 3.4rem;text-align:center}.gen-segment{display:flex;flex-wrap:wrap;gap:.5rem}.gen-add .btn,.gen-segment .btn,.gen-start{font-size:.95rem;padding:.55rem 1rem}.gen-start{align-self:flex-start}.gen-to-preview{display:none}.generator-preview{background:rgba(34,48,74,.06);border-radius:var(--radius);container-type:inline-size;max-height:calc(100vh - 2rem);overflow:auto;padding:0 1rem 1rem;position:sticky;top:1rem}.generator-actions{align-items:center;background:var(--surface-strong);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;margin:0 -1rem 1rem;padding:.75rem 1rem;position:sticky;top:0;z-index:1}.generator-sheets .sheet{zoom:.62}@container (max-width: 470px){.generator-sheets .sheet{zoom:.52}}@container (max-width: 400px){.generator-sheets .sheet{zoom:.44}}@container (max-width: 340px){.generator-sheets .sheet{zoom:.38}}@media (max-width:860px){section.generator{grid-template-columns:minmax(0,1fr)}.generator-preview{max-height:none;overflow:visible;position:static}.gen-to-preview{display:inline-flex}}@media (max-width:600px){.guide-download{grid-template-columns:minmax(0,1fr)}.guide-download-preview{margin:0 auto;width:min(100%,220px)}.pdf-library{grid-template-columns:repeat(2,minmax(0,1fr))}}@page routine-sheet{size:A4 portrait;margin:0}.sheets{align-items:center;gap:8mm}.sheet,.sheets{display:flex;flex-direction:column}.sheet{--c1:#74c0fc;--c2:#8ce99a;--c3:#63e6be;background:#fff;box-shadow:0 6px 24px rgba(50,80,140,.18);box-sizing:border-box;color:#22304a;flex-shrink:0;font-family:Nunito,Segoe UI,sans-serif;height:297mm;line-height:1.25;overflow:hidden;padding:14mm 14mm 10mm;page:routine-sheet;position:relative;print-color-adjust:exact;-webkit-print-color-adjust:exact;text-align:left;width:210mm}.sheet-morning{--c1:#ffd93d;--c2:#ffb86b;--c3:#ff8fab}.sheet-evening{--c1:#4f5bd5;--c2:#8b9cff;--c3:#b197fc}.sheet-day{--c1:#63e6be;--c2:#74c0fc;--c3:#b197fc}.sheet-holiday{--c1:#ffd43b;--c2:#63e6be;--c3:#4dabf7}.sheet-motivation{--c1:#ffd43b;--c2:#ff922b;--c3:#f06595}.sheet-learning{--c1:#ff8787;--c2:#ffd43b;--c3:#69db7c}.sheet-screens{--c1:#748ffc;--c2:#63e6be;--c3:#ffd43b}.sheet-band{background:linear-gradient(90deg,var(--c1),var(--c2),var(--c3));height:9mm;left:0;position:absolute;right:0;top:0}.sheet-body{display:flex;flex:1;flex-direction:column;min-height:0}.sheet-head{gap:6mm;justify-content:space-between;margin-top:4mm}.sheet-head,.sheet-title{align-items:center;display:flex}.sheet-title{font-size:25pt;font-weight:700;gap:3.5mm;line-height:1.1}.sheet-name,.sheet-title{font-family:Fredoka,Nunito,sans-serif}.sheet-name{color:#6b7a95;flex-shrink:0;font-size:14pt;white-space:nowrap}.sheet-name b{border-bottom:2px dashed #b8c2d6;display:inline-block;margin-left:2mm;min-width:42mm}.sheet-name-filled{background:color-mix(in srgb,var(--c2) 25%,#fff);border-radius:999px;color:#22304a;font-size:19pt;font-weight:700;max-width:70mm;overflow:hidden;padding:1mm 5mm;text-overflow:ellipsis}.sheet-sub{color:#6b7a95;font-size:10.5pt;margin:2mm 0 4mm}.sheet-table{border-collapse:separate;border-spacing:0 2.2mm;table-layout:fixed;width:100%}.sheet-table th{color:#6b7a95;font-family:Fredoka,Nunito,sans-serif;font-size:10pt;font-weight:600;padding:0;text-align:center}.sheet-table th:first-child{width:16mm}.sheet-table th.sheet-task{padding-left:2mm;text-align:left}.sheet-cols-week th:not(.sheet-task):not(:first-child){width:14mm}.sheet-cols-school th:not(.sheet-task):not(:first-child){width:17mm}.sheet-cols-once th:not(.sheet-task):not(:first-child){width:26mm}.sheet-table td{background:#f4f6fb;height:15.5mm;vertical-align:middle}.sheet-table td.sheet-pic{border-radius:6mm 0 0 6mm;font-size:21pt;text-align:center}.sheet-table td.sheet-task{font-size:13pt;font-weight:800;overflow-wrap:anywhere;padding:0 2mm}.sheet-table td:last-child{border-radius:0 6mm 6mm 0}.sheet-daycell{text-align:center}.sheet-box{background:#fff;border:2.2px solid var(--box,#74c0fc);border-radius:3mm;display:inline-block;flex-shrink:0;height:9mm;vertical-align:middle;width:9mm}.sheet-table tbody tr:nth-child(6n+1){--box:#ff8fab}.sheet-table tbody tr:nth-child(6n+2){--box:#ffb86b}.sheet-table tbody tr:nth-child(6n+3){--box:#f2c400}.sheet-table tbody tr:nth-child(6n+4){--box:#8ce99a}.sheet-table tbody tr:nth-child(6n+5){--box:#74c0fc}.sheet-table tbody tr:nth-child(6n+6){--box:#b197fc}.sheet-compact .sheet-table td{height:12.5mm}.sheet-compact .sheet-table td.sheet-pic{font-size:17pt}.sheet-compact .sheet-table td.sheet-task{font-size:12pt}.sheet-dense .sheet-table{border-spacing:0 1.4mm}.sheet-dense .sheet-table td{height:10.5mm}.sheet-dense .sheet-table td.sheet-pic{font-size:14pt}.sheet-dense .sheet-table td.sheet-task{font-size:10.5pt}.sheet-dense .sheet-box{height:7.5mm;width:7.5mm}.sheet-pic-blank{border:2px dashed #c3cbe0;border-radius:3mm;display:inline-block;height:10mm;vertical-align:middle;width:10mm}.sheet-line{border-bottom:2px dashed #b8c2d6;display:block;flex:1;height:7mm;min-width:20mm}.sheet-row-blank td.sheet-task .sheet-line{margin-right:4mm}.sheet-reward{align-items:center;background:#fff7d6;border-radius:6mm;display:flex;font-size:11pt;font-weight:700;gap:4mm;margin-top:auto;padding:4mm 6mm}.sheet-reward-stars{display:flex;font-size:15pt;gap:1mm}.sheet-levels .sheet-line,.sheet-reward .sheet-line{border-color:#e0c86a}.sheet-footer{align-items:center;color:#6b7a95;display:flex;font-size:9.5pt;font-weight:700;gap:4mm;justify-content:space-between;margin-top:5mm}.sheet-footer b,.sheet-pill{color:#4f8cff}.sheet-pill{background:#eef3ff;border-radius:999px;padding:1.2mm 3.5mm}.sheet-star{fill:#fff;stroke:var(--box,#ffc53d);stroke-width:1.6;stroke-linejoin:round;height:9.5mm;vertical-align:middle;width:9.5mm}.sheet-levels{background:#fff7d6;border-radius:6mm;display:flex;flex-direction:column;gap:2.5mm;margin-top:auto;padding:4mm 6mm}.sheet-levels-title{font-size:11pt;font-weight:800}.sheet-level{align-items:center;display:flex;font-size:12pt;font-weight:700;gap:4mm}.sheet-level-stars{flex-shrink:0;font-family:Fredoka,Nunito,sans-serif;font-size:15pt;min-width:22mm}.sheet-level-reward{display:flex;flex:1}.sheet-cards,.sheet-letters{border-left:1.5px dashed #b8c2d6;border-top:1.5px dashed #b8c2d6;display:grid;flex:1}.sheet-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.sheet-letters{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.sheet-card,.sheet-letter{align-items:center;border-bottom:1.5px dashed #b8c2d6;border-right:1.5px dashed #b8c2d6;display:flex;flex-direction:column;gap:3mm;justify-content:center;padding:3mm;text-align:center}.sheet-card{font-size:12pt;font-weight:800}.sheet-card .emoji{font-size:38pt}.sheet-letter-glyph{color:var(--letter,#ff6b6b);font-family:Fredoka,Nunito,sans-serif;font-size:100pt;font-weight:700;line-height:1}.sheet-letter:nth-child(6n+1){--letter:#ff6b6b}.sheet-letter:nth-child(6n+2){--letter:#f59f00}.sheet-letter:nth-child(6n+3){--letter:#40c057}.sheet-letter:nth-child(6n+4){--letter:#339af0}.sheet-letter:nth-child(6n+5){--letter:#845ef7}.sheet-letter:nth-child(6n+6){--letter:#f06595}.sheet-letter-word{font-size:16pt;font-weight:800}.sheet-letter-word .emoji{font-size:22pt}.sheet-board{display:grid;flex:1;gap:6mm;grid-template-columns:repeat(var(--board-columns,2),minmax(0,1fr))}.sheet-board-column{background:color-mix(in srgb,var(--c2) 14%,#fff);border-radius:6mm;display:flex;flex-direction:column;gap:4mm;padding:5mm}.sheet-board-label{font-family:Fredoka,Nunito,sans-serif;font-size:20pt;font-weight:700;text-align:center}.sheet-board-slot{background:#fff;border:2.5px dashed color-mix(in srgb,var(--c2) 70%,#6b7a95);border-radius:5mm;flex:1;min-height:20mm}body:has(.print-route) .connection-banner{display:none}.print-route{background:#e9eef5;min-height:100vh;padding:8mm 0}.print-index{font-family:var(--font-body);padding:2rem}.print-index h1{margin-bottom:1rem}@media print{.print-route{background:none;min-height:0;padding:0}.generator,.generator-preview{background:none;display:block;max-height:none;overflow:visible;padding:0;position:static}.sheets{display:block}.generator-sheets .sheet,.sheet{zoom:1;box-shadow:none;break-after:page;page-break-after:always}.sheet:last-child{break-after:auto;page-break-after:auto}}.age-card-link{color:var(--primary);font-weight:800;margin-top:auto}.guides-teaser-links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}@media print{.landing main:has(.generator-sheets),.landing:has(.generator-sheets),:root:has(.generator-sheets),:root:has(.generator-sheets) body{page:routine-sheet}.landing main:has(.generator-sheets){gap:0;padding:0}}.guide-download .btn,.guides-teaser-links .btn{text-align:center;white-space:normal}@page landscape-sheet{size:A4 landscape;margin:0}.sheet.sheet-landscape{height:210mm;padding:12mm 12mm 8mm;page:landscape-sheet;width:297mm}.sheet-calendar{--c1:#339af0;--c2:#20c997;--c3:#f06595}.sheet-weather{--c1:#ffd43b;--c2:#74c0fc;--c3:#4dabf7}.sheet .sheet-tone-mon{--day:#339af0}.sheet .sheet-tone-tue{--day:#ff922b}.sheet .sheet-tone-wed{--day:#9775fa}.sheet .sheet-tone-thu{--day:#20c997}.sheet .sheet-tone-fri{--day:#f06595}.sheet .sheet-tone-sat{--day:#94d82d}.sheet .sheet-tone-sun{--day:#cc5de8}.sheet .sheet-tone-off{--day:#ffe99a}.sheet-landscape .sheet-head{margin-top:2mm}.sheet-landscape .sheet-title{font-size:23pt}.sheet-wd{background:var(--day);border-radius:2.5mm;color:#fff;font-family:Fredoka,Nunito,sans-serif;font-size:12pt;font-weight:700;padding:1.6mm 0;text-align:center}.sheet-wd.sheet-tone-off{color:#7a6400}.sheet-month-grid{display:grid;flex:1;gap:1.6mm;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:4mm;min-height:0}.sheet-mday{background-color:color-mix(in srgb,var(--day) 10%,#fff);border:1.6px solid color-mix(in srgb,var(--day) 55%,#fff);border-radius:2.5mm;display:flex;flex-direction:column;gap:.8mm;min-height:0;overflow:hidden;padding:1.4mm 2mm}.sheet-mday.sheet-tone-off{background-color:color-mix(in srgb,var(--day) 40%,#fff)}.sheet .sheet-mday-holiday.sheet-tone-off{background-color:color-mix(in srgb,#ff922b 45%,#fff);border-color:color-mix(in srgb,#ff922b 70%,#fff)}.sheet-mday-empty{background:none;border:none}.sheet-mday-n{color:color-mix(in srgb,var(--day) 65%,#22304a);font-family:Fredoka,Nunito,sans-serif;font-size:15pt;font-weight:700;line-height:1}.sheet-mday.sheet-tone-off .sheet-mday-n{color:#8a7300}.sheet-mday-label{align-items:flex-start;color:#4a5670;display:flex;font-size:8.5pt;font-weight:800;gap:1mm;line-height:1.15}.sheet-mday-label .emoji{flex-shrink:0;font-size:10pt}.sheet-legend{align-items:center;color:#4a5670;display:flex;flex-wrap:wrap;font-size:10pt;font-weight:700;gap:2mm 6mm;margin-top:3mm}.sheet-legend>span{align-items:center;display:inline-flex;gap:1.5mm}.sheet-legend .sheet-line{height:5mm;min-width:32mm}.sheet-swatch{background-color:var(--day,#fff);border:1px solid rgba(34,48,74,.12);border-radius:1.2mm;display:inline-block;height:4.5mm;width:7mm}.sheet-swatch.sheet-tone-school{background:linear-gradient(90deg,#339af0,#ff922b,#20c997,#f06595)}.sheet-swatch-blank{border:1.6px dashed #b8c2d6}.sheet-school-year .sheet-sub{margin:1mm 0 2mm}.sheet-sy-grid{display:grid;flex:none;gap:.35mm 1.2mm;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:5.5mm repeat(31,4mm)}.sheet-sy-month{background:color-mix(in srgb,var(--c1) 18%,#fff);border-radius:1.5mm;font-family:Fredoka,Nunito,sans-serif;font-size:9.5pt;font-weight:700;padding:.6mm 0;text-align:center}.sheet-sy-day{align-items:center;background-color:color-mix(in srgb,var(--day) 14%,#fff);border-radius:.8mm;display:flex;font-size:6.6pt;gap:1mm;line-height:1;min-height:0;padding:0 1mm}.sheet-sy-day.sheet-tone-off{background-color:color-mix(in srgb,var(--day) 55%,#fff)}.sheet-sy-day.sheet-mday-empty{background:none}.sheet-sy-letter{color:#6b7a95;font-weight:700;width:2.2mm}.sheet-sy-n{font-weight:800}.sheet-sy-public .sheet-sy-n,.sheet-sy-public-mark{color:#e03131;text-decoration:underline}.sheet-sy-legend{font-size:9pt;margin-top:2mm}.sheet-sy-periods{color:#4a5670;display:flex;flex-wrap:wrap;font-size:8.5pt;gap:.8mm 5mm;list-style:none;margin:1.5mm 0 0;padding:0}.sheet-goal{align-items:center;display:flex;font-family:Fredoka,Nunito,sans-serif;font-size:16pt;gap:3mm;margin-bottom:5mm}.sheet-countdown{align-content:start;display:grid;flex:1;gap:3.5mm;min-height:0}.sheet-count-cell{align-items:center;aspect-ratio:1;background:#fff;border:2.5px dashed color-mix(in srgb,var(--c2) 70%,#6b7a95);border-radius:50%;display:flex;flex-direction:column;gap:1mm;justify-content:center}.sheet-count-cell .emoji{font-size:15pt;opacity:.6}.sheet-count-cell b{font-family:Fredoka,Nunito,sans-serif;font-size:20pt;line-height:1}.sheet-count-final{background:color-mix(in srgb,var(--c1) 25%,#fff);border-radius:6mm;border-style:solid}.sheet-count-final .emoji{font-size:20pt;opacity:1}.sheet-count-final b{font-size:11pt;text-align:center}.sheet-week-grid{display:grid;flex:1;gap:1.6mm;grid-template-columns:40mm repeat(7,minmax(0,1fr));min-height:0}.sheet-week-row{align-items:center;background:color-mix(in srgb,var(--c2) 16%,#fff);border-radius:2.5mm;display:flex;font-size:12pt;font-weight:800;gap:2mm;line-height:1.15;padding:0 2.5mm}.sheet-week-row .emoji{flex-shrink:0;font-size:16pt}.sheet-week-row .sheet-line{width:22mm}.sheet-week-cell{background:#fff;border:1.6px dashed #c5cede;border-radius:2.5mm}.sheet-weather-grid{display:flex;flex:1;flex-direction:column;gap:4mm;min-height:0}.sheet-weather-row{display:grid;flex:1;gap:4mm;grid-template-columns:42mm minmax(0,1fr);min-height:0}.sheet-weather-sky{align-items:center;background:color-mix(in srgb,var(--c2) 22%,#fff);border-radius:5mm;display:flex;flex-direction:column;font-family:Fredoka,Nunito,sans-serif;font-size:14pt;font-weight:700;gap:1.5mm;justify-content:center;line-height:1.1;text-align:center}.sheet-weather-sky .emoji{font-size:32pt}.sheet-weather-items{align-content:center;border:2px dashed #d3dae6;border-radius:5mm;display:flex;flex-wrap:wrap;gap:3mm;justify-content:space-around;padding:3mm}.sheet-weather-item{align-items:center;display:flex;flex-direction:column;font-size:10.5pt;font-weight:800;gap:1mm;line-height:1.15;text-align:center;width:30mm}.sheet-weather-item .emoji{font-size:26pt}.sheet-compact .sheet-weather-sky .emoji{font-size:24pt}.sheet-compact .sheet-weather-item .emoji{font-size:20pt}.generator-sheets .sheet-landscape{zoom:.44}@container (max-width: 470px){.generator-sheets .sheet-landscape{zoom:.38}}@container (max-width: 400px){.generator-sheets .sheet-landscape{zoom:.32}}@container (max-width: 340px){.generator-sheets .sheet-landscape{zoom:.27}}.guide-download-landscape{grid-template-columns:minmax(0,280px) minmax(0,1fr)}.pdf-tile-landscape img{aspect-ratio:1123/794}@media print{.landing main:has(.generator-sheets .sheet-landscape),.landing:has(.generator-sheets .sheet-landscape),:root:has(.generator-sheets .sheet-landscape),:root:has(.generator-sheets .sheet-landscape) body{page:landscape-sheet}.generator-sheets .sheet.sheet-landscape,.sheet.sheet-landscape{zoom:1}}html:root[data-section=heros]{--bg:#fff;--bg-gradient:none;--heros-panel:#f8f8fb}:root[data-section=heros] .family-menu-btn{background:var(--heros-panel);box-shadow:none}.heros-fx{inset:0;pointer-events:none;position:fixed;z-index:9000}body.heros-impact .heros-stage{animation:stage-shake .5s ease-out}@keyframes stage-shake{0%,to{transform:translate(0)}15%{transform:translate(-10px,6px)}30%{transform:translate(9px,-5px)}45%{transform:translate(-7px,4px)}60%{transform:translate(6px,-3px)}75%{transform:translate(-3px,2px)}}.heros-parent{gap:1rem;margin:0 1.5rem 2rem}.heros-parent,.heros-planche{display:flex;flex-direction:column}.heros-planche{--accent:#74c0fc;background:color-mix(in srgb,var(--accent) 22%,var(--surface-strong));border-radius:26px;gap:.75rem;padding:1rem 1.125rem 1.125rem}.heros-child-head{flex-wrap:wrap}.heros-child,.heros-child-head{align-items:center;display:flex;gap:.75rem}.heros-child{border-radius:var(--radius-sm);padding:.25rem .75rem .25rem .25rem;text-align:left}.heros-child:hover{background:hsla(0,0%,100%,.5)}.heros-child .avatar{background:#fff!important;box-shadow:none}.heros-child h2{font-size:1.5rem;font-weight:500;margin:0}.heros-count{flex:1}.heros-add{background:#fff;box-shadow:none}.heros-empty{margin:0}.heros-children-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.monster-list{display:flex;flex-direction:column;gap:.5rem}.monster-row{align-items:center;background:hsla(0,0%,100%,.6);border-radius:20px;display:flex;flex-wrap:wrap;gap:.875rem;padding:.625rem .75rem}.monster-row-won{background:var(--accent);color:#fff}.monster-row-main{align-items:center;border-radius:var(--radius-sm);color:inherit;display:flex;flex:1 1 16rem;gap:.75rem;min-width:0;padding:.25rem;text-align:left}.monster-row-main:hover{background:hsla(0,0%,100%,.45)}.monster-row-emoji{flex-shrink:0;font-size:2.6rem;line-height:1}.monster-row-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.monster-row-title{align-items:center;display:flex;flex-wrap:wrap;font-size:1.05rem;gap:.5rem}.monster-row-title .emoji{font-size:1.1rem}.monster-kind{background:var(--heros-panel);border-radius:999px;color:var(--muted);font-size:.7rem;font-weight:900;padding:.1rem .5rem}.monster-row-won .monster-kind{background:hsla(0,0%,100%,.25);color:#fff}.monster-gift{display:inline-flex}.monster-row-sub{color:var(--muted);font-size:.85rem;font-weight:700}.monster-row-won .monster-row-sub{color:hsla(0,0%,100%,.9)}.monster-days{display:flex;gap:.3rem}.monster-day{align-items:center;background:transparent;border-radius:8px;color:inherit;display:flex;flex-direction:column;gap:.2rem;padding:0;width:2rem}.monster-day:hover .monster-day-mark{transform:scale(1.08)}.monster-day-name{color:var(--muted);font-size:.65rem;font-weight:900;text-transform:uppercase}.monster-row-won .monster-day-name{color:hsla(0,0%,100%,.85)}.monster-day-mark{background:hsla(0,0%,100%,.7);border-radius:50%;color:#fff;display:grid;height:1.7rem;place-items:center;position:relative;transition:transform .15s ease,background-color .2s ease;width:1.7rem}.monster-day-mark svg{height:65%;width:65%}.monster-day-count{background:var(--primary);border-radius:999px;color:#fff;font-size:.65rem;font-weight:800;height:1.1rem;line-height:1.1rem;min-width:1.1rem;padding:0 .25rem;position:absolute;right:-.35rem;text-align:center;top:-.35rem}.monster-day.ok .monster-day-mark{background:var(--accent)}.monster-row-won .monster-day.ok .monster-day-mark{background:#fff;color:var(--accent)}.monster-day.auto .monster-day-mark{outline:2px dashed #fff;outline-offset:-4px}.monster-row-won .monster-day.auto .monster-day-mark{outline-color:var(--accent)}.monster-day-today .monster-day-name{color:var(--text)}.monster-row-won .monster-day-today .monster-day-name{color:#fff}.monster-today{background:hsla(0,0%,100%,.7);border:3px solid var(--accent);border-radius:50%;color:#fff;display:grid;flex-shrink:0;height:3.25rem;place-items:center;transition:background-color .2s ease,transform .2s ease;width:3.25rem}.monster-today svg{height:60%;opacity:0;transform:scale(.4);transition:opacity .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1);width:60%}.monster-today.checked{background:var(--accent)}.monster-today.checked svg{opacity:1;transform:scale(1)}.monster-row-won .monster-today{background:hsla(0,0%,100%,.25);border-color:#fff}.monster-row-won .monster-today.checked{background:#fff;color:var(--accent)}.monster-today:active{transform:scale(.94)}.bag-rail,.bag-strip{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.bag-label{color:var(--muted);font-size:.75rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.bag-items{display:flex;flex-wrap:wrap;gap:.5rem}.bag-item{align-items:center;background:hsla(0,0%,100%,.55);border-radius:16px;display:flex;flex-direction:column;gap:.25rem;min-width:5.5rem;padding:.5rem;position:relative;text-align:center}.bag-item .gift-icon{filter:grayscale(1);opacity:.45}.bag-item.on{background:var(--accent);color:#fff}.bag-item.on .gift-icon{filter:none;opacity:1}.bag-item.on:after{background:#fff;border-radius:50%;color:var(--accent);content:"✓";display:grid;font-size:.7rem;font-weight:900;height:1.1rem;place-items:center;position:absolute;right:.3rem;top:.3rem;width:1.1rem}.bag-item .emoji{font-size:2.2rem}.bag-item-name{font-size:.75rem;font-weight:800;line-height:1.1}.bag-item-hint{color:var(--muted);font-size:.65rem;line-height:1.1}.bag-empty,.bag-item-hint{font-weight:700}.modal-monster{width:min(680px,100%)}.monster-count{margin:0}.monster-presets{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.monster-preset{align-items:center;background:var(--surface-strong);border:2px solid transparent;border-radius:var(--radius-sm);display:flex;font-size:1.6rem;gap:.6rem;padding:.5rem .7rem;text-align:left;transition:border-color .15s ease,background-color .15s ease}.monster-preset span:last-child{display:flex;flex-direction:column;font-size:.9rem}.monster-preset small{color:var(--muted);font-weight:600}.monster-preset.active{background:color-mix(in srgb,var(--primary) 12%,#fff);border-color:var(--primary)}.monster-emojis{display:grid;gap:.35rem;grid-template-columns:repeat(8,1fr)}.monster-emoji-choice{background:var(--surface-strong);border:2px solid transparent;border-radius:var(--radius-sm);font-size:1.7rem;line-height:1;padding:.4rem 0;transition:transform .12s ease,border-color .15s ease}.monster-emoji-choice:hover{transform:scale(1.1)}.monster-emoji-choice.active{background:color-mix(in srgb,var(--primary) 12%,#fff);border-color:var(--primary)}.monster-kinds{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.monster-kind-tile{align-items:flex-start;background:var(--surface-strong);border:2px solid transparent;border-radius:var(--radius-sm);display:flex;flex-direction:column;font-size:.85rem;gap:.25rem;padding:.7rem .8rem;text-align:left;transition:border-color .15s ease,background-color .15s ease}.monster-kind-tile .emoji{font-size:1.4rem}.monster-kind-tile strong{font-size:.9rem}.monster-kind-tile span:last-child{color:var(--muted);font-weight:600;line-height:1.25}.monster-kind-tile.active{background:color-mix(in srgb,var(--primary) 12%,#fff);border-color:var(--primary)}.modal-monster select{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-weight:700;padding:.6rem .75rem;width:100%}.monster-tasks{display:flex;flex-direction:column;gap:.35rem}.monster-task{align-items:center;background:var(--surface-strong);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-weight:700;gap:.55rem;padding:.5rem .7rem;transition:border-color .15s ease,background-color .15s ease}.monster-task input{accent-color:var(--primary);flex:none;height:1.15rem;width:1.15rem}.monster-task .emoji{font-size:1.3rem}.monster-task small{color:var(--muted);font-weight:600}.monster-task.active{background:color-mix(in srgb,var(--primary) 12%,#fff);border-color:var(--primary)}.field-row{display:flex;flex-wrap:wrap;gap:1rem}.field-row .field{flex:1 1 14rem}.choice-row{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.btn.choice{background:var(--surface-strong);border:1px solid var(--border);box-shadow:none}.btn.choice.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.gift-groups{display:flex;flex-direction:column;gap:.6rem}.gift-group-label{color:var(--muted);display:block;font-size:.75rem;font-weight:800;margin-bottom:.25rem}.gift-choices{display:flex;flex-wrap:wrap;gap:.4rem}.gift-choice{align-items:center;background:var(--surface-strong);border:2px solid transparent;border-radius:var(--radius-sm);display:flex;flex-direction:column;font-size:.7rem;font-weight:800;gap:.25rem;line-height:1.1;padding:.5rem .25rem;text-align:center;width:5.2rem}.gift-choice .emoji{font-size:2rem}.gift-choice.active{background:color-mix(in srgb,var(--primary) 12%,#fff);border-color:var(--primary)}.child-tabs{gap:.35rem}.child-tab,.child-tabs{align-items:center;display:flex}.child-tab{--accent:#74c0fc;background:transparent;border-radius:999px;gap:.6rem;padding:.3rem;transition:background-color .2s ease}.child-tab .avatar{background:color-mix(in srgb,var(--accent) 30%,#fff)!important;box-shadow:none}.child-tab.active{background:color-mix(in srgb,var(--accent) 30%,#fff);padding-right:1.1rem}.child-tab.active .avatar{background:#fff!important}.child-tab-name{font-family:var(--font-display);font-size:1.4rem;font-weight:500}.heros-kiosk{display:flex;flex:1;flex-direction:column;min-height:0}.heros-kiosk-empty{color:var(--muted);font-weight:700;padding:2rem;text-align:center}.heros-stage{--accent:#74c0fc;--bubble:clamp(200px,38vh,320px);flex:1;justify-content:center;min-height:0;padding:0 1.5rem 1rem;position:relative}.heros-stage,.stage-main{align-items:center;display:flex;flex-direction:column}.stage-main{gap:.25rem;max-height:100%;width:100%}.heros-stage-empty{gap:1rem;justify-content:center}.monster-carousel{flex-shrink:0;height:clamp(260px,50vh,480px);isolation:isolate;position:relative;width:min(calc(100% - 28rem),1000px)}.carousel-ring{fill:none;stroke:color-mix(in srgb,var(--accent) 45%,#fff);stroke-width:3;stroke-dasharray:2 14;stroke-linecap:round;left:0;pointer-events:none;position:absolute;top:0}.carousel-slot{align-items:center;display:flex;flex-direction:column;gap:.4rem;position:absolute;transform-origin:50% 50%;will-change:transform,left,top}.carousel-busy .carousel-slot:not(.slot-current){pointer-events:none}.carousel-name{color:var(--muted);font-size:1.1rem;font-weight:800;white-space:nowrap}.monster-bubble{animation:bubble-float 2.8s ease-in-out infinite alternate;background:transparent;border:0;display:block;padding:0;position:relative}.bubble-lg,.monster-bubble{height:var(--bubble);width:var(--bubble)}.bubble-sm{--bubble:clamp(96px,18vh,150px);animation-direction:alternate-reverse;animation-duration:3.4s;cursor:pointer}.bubble-shape{height:100%;inset:0;position:absolute;width:100%}.bubble-content{display:grid;inset:0;place-items:center;position:absolute}.bubble-monster{font-size:calc(var(--bubble)*.62);line-height:1;position:relative;transition:transform .3s ease,opacity .3s ease}.bubble-monster .emoji{display:block}.bubble-gift{bottom:14%;position:absolute;right:12%;transform:translate(35%,10%);transition:transform .6s cubic-bezier(.2,.8,.2,1);z-index:0}.bubble-sm .bubble-gift{bottom:10%;right:10%}.bubble-gift .emoji,.bubble-gift .gift-icon{display:block}.bubble-gift .emoji{font-size:calc(var(--bubble)*.3)}.bubble-gift-out{bottom:30%;right:40%;transform:translate(-50%,-20%) scale(1.3);z-index:3}.bubble-dizzy{animation:dizzy-spin 1.4s linear infinite;font-size:calc(var(--bubble)*.16);position:absolute;right:8%;top:8%}.bubble-trophy{font-size:calc(var(--bubble)*.24);position:absolute;right:4%;top:4%}.bubble-hit .bubble-monster{animation:monster-shake .55s ease-in-out;filter:brightness(1.35)}.bubble-defeat .bubble-monster{animation:monster-flee 1.3s ease-in forwards}.bubble-defeated .bubble-monster{filter:grayscale(.7);opacity:.35;transform:scale(.55) translate(60%,-60%)}.bubble-won .bubble-monster{filter:grayscale(.6);opacity:.6}.bubble-returned .bubble-monster{animation:monster-pop .7s cubic-bezier(.2,.8,.2,1)}@keyframes bubble-float{0%{transform:translateY(0)}to{transform:translateY(-14px)}}@keyframes monster-shake{0%,to{transform:translateX(0)}15%{transform:translateX(-14px) rotate(-7deg)}30%{transform:translateX(14px) rotate(7deg)}45%{transform:translateX(-11px) rotate(-5deg)}60%{transform:translateX(11px) rotate(5deg)}75%{transform:translateX(-5px)}}@keyframes monster-flee{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}40%{opacity:1;transform:translate(20%,-40%) rotate(160deg) scale(1.1)}to{opacity:0;transform:translate(120%,-220%) rotate(2turn) scale(.1)}}@keyframes monster-pop{0%{transform:scale(0) rotate(-30deg)}70%{transform:scale(1.15) rotate(5deg)}to{transform:scale(1) rotate(0)}}@keyframes dizzy-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.stage-panel{align-items:center;display:flex;flex-direction:column;gap:.5rem;max-width:100%;padding:0 12rem;text-align:center}.stage-actions{display:grid;width:100%}.stage-actions-ghost,.stage-actions-live{align-items:center;display:flex;flex-direction:column;gap:.5rem;grid-area:1/1;justify-content:center}.stage-actions-ghost{pointer-events:none;visibility:hidden}.stage-name{font-size:clamp(1.6rem,4vh,2.5rem);font-weight:500;margin:0}.hearts{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.heart{background:transparent;border:0;border-radius:50%;display:grid;font-size:3rem;height:4.2rem;line-height:1;outline:4px solid transparent;outline-offset:2px;padding:0;place-items:center;transition:transform .2s ease,outline-color .2s ease;width:4.2rem}.heart .emoji{display:block}button.heart:hover{transform:scale(1.08)}.heart-picked{background:hsla(0,0%,100%,.7);outline-color:var(--accent);transform:scale(1.1)}.heart-pop{animation:heart-pop .6s ease-out forwards}@keyframes heart-pop{0%{opacity:1;transform:scale(1.1)}35%{opacity:1;transform:scale(1.9) rotate(-12deg)}to{opacity:0;transform:scale(0)}}.hearts-sm{gap:.15rem}.hearts-sm .heart{font-size:1.25rem;height:1.6rem;outline:none;width:1.6rem}.stage-hint{color:var(--muted);font-size:.95rem;font-weight:800;margin:0}.stage-hint-task{line-height:1.7;max-width:28rem}.stage-task-chip{align-items:center;background:color-mix(in srgb,var(--accent) 14%,#fff);border-radius:999px;color:var(--ink);display:inline-flex;gap:.3rem;padding:.1rem .6rem;white-space:nowrap}.stage-task-chip .emoji{font-size:1.1em}.hit-btn{align-items:center;background:var(--accent);border:0;border-radius:999px;color:#fff;display:inline-flex;font-family:var(--font-display);font-size:clamp(1.3rem,3.2vh,1.9rem);font-weight:600;gap:.6rem;line-height:1.1;padding:.9rem 2rem;transition:transform .15s ease,filter .15s ease}.hit-btn .emoji{font-size:1.1em}.hit-btn:hover{filter:brightness(1.05)}.hit-btn:active{transform:scale(.96)}.hit-btn:disabled{opacity:.6}.hit-btn-done{background:color-mix(in srgb,var(--accent) 70%,#fff)}.stage-status{font-family:var(--font-display);font-size:clamp(1.1rem,2.6vh,1.5rem);margin:0}.stage-status strong{color:var(--accent);font-weight:600}.stage-status strong:first-child,.stage-won .stage-status strong{color:inherit}.stage-goal{align-items:center;color:var(--muted);display:flex;font-size:.95rem;font-weight:800;gap:.4rem;margin:0}.stage-hero{bottom:.5rem;left:1.5rem;pointer-events:none;position:absolute}.stage-hero .hero-figure{font-size:clamp(12px,2.4vh,20px)}.heros-stage .bag-rail{align-items:flex-start;flex-direction:column;gap:.4rem;position:absolute;right:1.5rem;top:.25rem;width:13rem}.heros-stage .bag-items{display:grid;gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.heros-stage .bag-item{background:var(--heros-panel);min-width:0}button.bag-item{touch-action:manipulation;transition:transform .15s ease,background .2s ease}button.bag-item:active{transform:scale(.92)}.heros-stage .bag-item.on:not(.worn){background:var(--heros-panel);color:inherit}.heros-stage .bag-item.on:not(.worn):after{content:none}.heros-stage .bag-item.worn{background:var(--accent);color:#fff}.bag-item-surprise{font-size:2.2rem}.heros-stage .bag-empty{color:var(--muted);font-size:.75rem;grid-column:1/-1}.stage-victory{align-items:center;animation:fade-in .3s ease;background:rgba(40,20,80,.45);display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:800}.stage-victory-card{align-items:center;animation:rise .4s cubic-bezier(.2,.8,.2,1);background:var(--surface-strong);border:6px solid var(--accent);border-radius:32px;display:flex;flex-direction:column;gap:.5rem;max-width:560px;padding:2rem 2.5rem;text-align:center}.stage-victory-card h2{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:500;margin:0}.stage-victory-card p{color:var(--muted);font-weight:700;margin:0}.stage-victory-emoji,.stage-victory-gift{animation:float 1.4s ease-in-out infinite;display:block;font-size:5rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.hero-figure{flex-shrink:0;font-size:14px;height:12em;position:relative;width:8em}.hero-cape{animation:cape-wave 2.4s ease-in-out infinite;background:color-mix(in srgb,var(--accent) 70%,#22304a);border-radius:40% 40% 50% 50%/30% 30% 60% 60%;height:6.4em;left:1.2em;position:absolute;top:4.4em;transform-origin:top center;width:5.6em}.hero-caped .hero-cape{background:#ffd93d;height:7.2em}.hero-body{height:8.7em;left:0;position:absolute;top:3.6em;transform-origin:50% 90%;width:8em}.hero-head{height:4.3em;left:50%;position:absolute;top:.4em;transform:translateX(-50%);transform-origin:50% 100%;width:4.3em;z-index:1}.hero-head .avatar{border:.12em solid #fff;box-shadow:0 2px 0 rgba(34,48,74,.08);font-size:2.4em;height:100%;width:100%}.hero-hat{font-size:2.6em;left:50%;line-height:1;position:absolute;top:-.6em;transform:translateX(-50%)}.hero-hat .gift-icon{display:block;height:1.2em;width:1.2em}.hero-hat .emoji{display:block}.hero-hat-helmet{top:-.4em}.hero-hat-wizardHat{top:-.75em}.hero-hat-topHat{font-size:2.4em;top:-.7em}.hero-hat-strawHat{font-size:3.2em;top:-.7em}.hero-hat-cap{font-size:3em;top:-.45em;transform:translateX(-50%) scaleX(-1)}.hero-hat-ribbon{font-size:1.8em;left:80%;top:-.05em;transform:translateX(-50%) rotate(18deg)}.hero-shield{left:-.4em;position:absolute;top:5.2em;z-index:2}.hero-shield .gift-icon{height:2.8em;width:2.8em}.hero-sword{left:.6em;position:absolute;top:5.6em;transform:rotate(-20deg);z-index:1}.hero-sword .gift-icon{height:2.6em;width:2.6em}.hero-gear{--s:3em;height:var(--s);line-height:1;position:absolute;width:var(--s)}.hero-gear>.emoji{display:block;font-size:calc(var(--s)/1.15)}.hero-gear>.emoji-img{height:100%;width:100%}.hero-layer{inset:0;position:absolute;transform-origin:50% 11.4em}.hero-figure.attacking .hero-layer{animation:hero-lean 1.3s ease-in-out forwards}.hero-gear-butterflyWings{--s:9em;left:-.5em;top:2em}.hero-gear-wings{--s:5em;top:2.6em}.hero-gear-wings.hero-gear-left{left:-2.4em}.hero-gear-wings.hero-gear-right{left:5.4em;transform:scaleX(-1)}.hero-gear-backpack{--s:4.6em;left:-.9em;top:3.4em;transform:rotate(-12deg)}.hero-gear-medal{--s:2.6em;left:1.9em;top:4.5em}.hero-gear-scarf{--s:3.4em;left:1.7em;top:3.9em}.hero-gear-boots,.hero-gear-rollerSkates{--s:2.4em;top:9.9em}.hero-gear-boots.hero-gear-left,.hero-gear-rollerSkates.hero-gear-left{left:1.7em}.hero-gear-boots.hero-gear-right,.hero-gear-rollerSkates.hero-gear-right{left:3.9em}.hero-gear-balletShoes{--s:3.2em;left:2.4em;top:9.9em}.hero-gear-balloon{--s:3.4em;left:-.8em;top:-1.6em}.hero-balloon-string{background:#8aa0c8;border-radius:.05em;height:5.9em;left:1.22em;position:absolute;top:1.5em;transform:rotate(-12deg);transform-origin:50% 100%;width:.1em}.hero-gear-divingMask,.hero-gear-sunglasses{transform:translate(-50%,-50%);z-index:1}.hero-gear-sunglasses{--s:3.6em;left:50%;top:40%}.hero-gear-divingMask{--s:4.4em;left:calc(50% + .35em);top:calc(40% + .7em)}.hero-arm{background:var(--accent);border-radius:.6em;height:3.2em;left:5.6em;position:absolute;top:4.6em;transform:rotate(-35deg);transform-origin:50% .5em;transition:transform .3s ease;width:1.2em;z-index:2}.hero-hand{background:#f4c27a;border-radius:50%;bottom:-.5em;height:1.4em;margin-left:-.7em;width:1.4em}.hero-hand,.hero-wand{left:50%;position:absolute}.hero-wand{background:linear-gradient(#f4c27a 0 18%,#8d5524 18%);border-radius:.3em;bottom:.1em;height:4.4em;margin-left:-.22em;transform:rotate(-30deg);transform-origin:50% 100%;width:.45em}.hero-wand-tip{filter:drop-shadow(0 0 6px #ffd93d);font-size:1.4em;left:50%;line-height:1;position:absolute;top:-1em;transform:translateX(-50%)}.hero-wand-item{background:none}.hero-wand-item .hero-gear{left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--turn,0deg))}.hero-wand-item .hero-wand-tip{opacity:0;transition:opacity .2s ease}.hero-figure.attacking .hero-wand-item .hero-wand-tip{opacity:1}.hero-wand-bowArrow,.hero-wand-magicWand{--turn:-45deg}.hero-wand-bowArrow .hero-gear,.hero-wand-magicWand .hero-gear{--s:4.4em}.hero-wand-flashlight{--turn:45deg}.hero-wand-flashlight .hero-gear{--s:3.6em}.hero-wand-lollipop{--turn:45deg}.hero-wand-lollipop .hero-gear{--s:4em}.hero-wand-broom{--turn:135deg}.hero-wand-broom .hero-gear{--s:4.6em}.hero-wand-umbrella .hero-gear{--s:4.6em;top:35%}.hero-wand-trident{background:linear-gradient(90deg,#f59f00,#ffd43b 50%,#f59f00)}.hero-wand-trident .hero-gear{--s:2.8em;top:-1.1em}.hero-figure.attacking .hero-arm{animation:wand-swing 1.3s cubic-bezier(.3,.9,.3,1) forwards}.hero-figure.attacking .hero-body,.hero-figure.attacking .hero-cape{animation:hero-lean 1.3s ease-in-out forwards}.hero-figure.attacking .hero-head{animation:head-lean 1.3s ease-in-out forwards}.hero-figure.attacking .hero-wand-tip{animation:tip-glow .35s ease-in-out infinite alternate}.hero-figure.cheering{animation:hero-jump .7s ease-in-out infinite}@keyframes wand-swing{0%{transform:rotate(-35deg)}30%{transform:rotate(-175deg)}55%{transform:rotate(-95deg)}75%{transform:rotate(-105deg)}to{transform:rotate(-35deg)}}@keyframes hero-lean{0%{transform:translateX(0) rotate(0)}30%{transform:translateX(-.3em) rotate(-4deg)}55%{transform:translateX(.6em) rotate(6deg)}to{transform:translateX(0) rotate(0)}}@keyframes head-lean{0%{transform:translateX(-50%) rotate(0)}30%{transform:translateX(-56%) rotate(-6deg)}55%{transform:translateX(-40%) rotate(8deg)}to{transform:translateX(-50%) rotate(0)}}@keyframes tip-glow{0%{filter:drop-shadow(0 0 6px #ffd93d);transform:translateX(-50%) scale(1)}to{filter:drop-shadow(0 0 16px #ffd93d);transform:translateX(-50%) scale(1.6)}}@keyframes cape-wave{0%,to{transform:skewX(0) scaleY(1)}50%{transform:skewX(-6deg) scaleY(1.04)}}@keyframes hero-jump{0%,to{transform:translateY(0)}50%{transform:translateY(-1.2em)}}.board-kiosk .items{position:relative;z-index:0}.board-kiosk .items:has(.monster-peek){padding-top:2rem}.item.done:has(>.monster-peek),.item:has(>.monster-peek){background:transparent;box-shadow:none;position:relative;z-index:0}.item:has(>.monster-peek)>.item-check{background:var(--item-bg);box-shadow:var(--routine-shadow,var(--shadow-sm));position:relative;z-index:1}.item.done:has(>.monster-peek)>.item-check{background:color-mix(in srgb,var(--accent) 45%,var(--item-bg))}.board-kiosk .item.done:has(>.monster-peek)>.item-check{background:var(--item-bg)}.monster-peek{background:transparent;border:0;font-size:2.6rem;line-height:1;padding:0;position:absolute;transform-origin:50% 80%;transition:top .4s ease,left .4s ease,right .4s ease,transform .4s ease,opacity .3s ease}.monster-peek .emoji{display:block}.monster-peek-behind{animation:peek-breathe 2.6s ease-in-out infinite alternate;right:.9rem;top:-1.45rem;transform:rotate(-8deg);z-index:-1}.monster-peek-front{animation:peek-in .5s cubic-bezier(.2,.8,.2,1),peek-wobble 1.8s ease-in-out .5s infinite alternate;filter:drop-shadow(0 2px 4px rgba(34,48,74,.25));left:-.7rem;right:auto;top:-.9rem;z-index:3}.board-kiosk .column-head{position:relative}.board-kiosk .column-identity{position:relative;z-index:1}.monster-peek-column.monster-peek-behind{font-size:2.8rem;left:2.4rem;right:auto;top:.2rem;z-index:0}.monster-peek-column.monster-peek-front{font-size:3.4rem;left:5.6rem;top:.4rem;z-index:2}.monster-peek-gone{opacity:0}.peek-sweat{animation:sweat-drop 1.4s ease-in infinite;font-size:.45em;line-height:1;opacity:0;position:absolute}.peek-sweat-1{right:-.35em;top:-.1em}.peek-sweat-2{animation-delay:.7s;left:-.3em;top:.25em}@keyframes sweat-drop{0%{opacity:0;transform:translateY(-.2em) scale(.6)}25%{opacity:1}to{opacity:0;transform:translateY(.7em) scale(1)}}@keyframes peek-breathe{0%{transform:translateY(0) rotate(-8deg)}to{transform:translateY(-4px) rotate(-4deg)}}@keyframes peek-in{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(-12deg)}}@keyframes peek-wobble{0%{transform:rotate(-16deg)}to{transform:rotate(-4deg) translateY(-3px)}}.monster-fly{display:grid;line-height:1;opacity:1;place-items:center;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:left .65s cubic-bezier(.2,.8,.2,1),top .65s cubic-bezier(.2,.8,.2,1),width .65s cubic-bezier(.2,.8,.2,1),height .65s cubic-bezier(.2,.8,.2,1),font-size .65s cubic-bezier(.2,.8,.2,1),opacity .35s ease .3s;z-index:9500}.monster-fly .emoji{display:block}.monster-fly-go{opacity:0}.landing-heros .hero-visual{transform:none}.mock-battle{align-items:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;font-size:5rem;gap:1rem;grid-template-columns:1fr auto 1fr;justify-items:center;line-height:1;padding:2rem 1.5rem 3rem;position:relative}.mock-hero{animation:hero-jump 1.6s ease-in-out infinite}.mock-spark{animation:tip-glow .6s ease-in-out infinite alternate;font-size:3rem}.mock-monster{animation:bubble-float 2.8s ease-in-out infinite alternate}.mock-hearts{bottom:.8rem;font-size:1.6rem;position:absolute;right:1.5rem}@media (max-width:960px){.stage-panel{padding:0 1rem}.monster-carousel{flex:1 1 clamp(260px,50vh,480px);height:auto;min-height:200px;width:100%}.heros-stage:not(.heros-stage-empty){align-items:end;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.stage-main{align-self:stretch;grid-column:1/-1;grid-row:1;justify-content:center;min-height:0}.stage-hero{grid-column:1;grid-row:2;padding-top:.5rem;position:static}.stage-hero .hero-figure{font-size:clamp(10px,1.8vh,16px)}.heros-stage .bag-rail{align-items:center;flex-direction:row;grid-column:2;grid-row:2;margin-top:0;padding:.5rem 0 0 .75rem;position:static;width:auto}.heros-stage .bag-items{display:flex;flex-wrap:wrap}}@media (max-width:720px){.heros-parent{margin:0 1rem 2rem}.heros-planche{padding:.75rem}.monster-row{gap:.5rem}.monster-day{width:1.7rem}.monster-day-mark{height:1.45rem;width:1.45rem}.monster-carousel{flex-basis:clamp(220px,40vh,340px)}.stage-hero .hero-figure{font-size:clamp(9px,1.5vh,14px)}.carousel-name{display:none}.heart{font-size:2.3rem;height:3.2rem;width:3.2rem}.child-tab-name{font-size:1.1rem}.monster-emojis{grid-template-columns:repeat(6,1fr)}.mock-battle{font-size:3.4rem}}.printable-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.printable-preview{border-radius:var(--radius);width:100%}.download-row{margin-bottom:.75rem}.print-now{align-items:center;display:flex;flex-direction:column;gap:1rem}.print-sheets{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));width:100%}.print-month{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);color:#22304a;padding:1.25rem}.print-month h3{color:var(--primary);font-size:1.4rem;margin-bottom:.75rem;text-transform:capitalize}.print-grid{display:grid;gap:.3rem;grid-template-columns:repeat(7,minmax(0,1fr))}.print-weekday{background:color-mix(in srgb,var(--day-color,transparent) 60%,transparent);border-radius:999px;color:color-mix(in srgb,var(--day-color,#6b7a95) 45%,#22304a);font-size:.75rem;font-weight:800;padding:.15rem 0;text-align:center;text-transform:uppercase}.print-day{aspect-ratio:1/.85;border:1.5px solid #d5dce8;border-radius:8px;font-weight:700;padding:.2rem .35rem}.print-day-weekend{background:color-mix(in srgb,var(--day-color) 50%,#fff)}.print-day-empty{border-color:transparent}.seo-text{max-width:70ch}.seo-text h2,.tips h2{text-align:center}@media (max-width:860px){.printable-hero{gap:2rem;grid-template-columns:1fr}.printable-preview{transform:none}}@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff!important}.print-day-weekend,.print-weekday{print-color-adjust:exact;-webkit-print-color-adjust:exact}.connection-banner,.landing>:not(main),.print-hide,main>section:not(.print-now){display:none!important}.print-now,.print-sheets{display:block}.print-month{border-radius:0;box-shadow:none;break-after:page;height:100%;padding:0;page-break-after:always}.print-month:last-child{break-after:auto;page-break-after:auto}.print-day{aspect-ratio:auto;min-height:26mm}}:root[data-section=routine]:not([data-mode=evening]){--bg:#fff;--bg-gradient:none;--routine-panel:#f8f8fb;--routine-shadow:0 2px 10px rgba(47,54,72,.07)}:root[data-mode=evening]{--routine-panel:#262c54;--routine-shadow:none;--bg:#1b2140;--bg-gradient:radial-gradient(circle at 20% 10%,#3a3f7a 0%,#1b2140 45%,#10142b 100%);--surface:rgba(38,44,84,.86);--surface-strong:#2c3262;--text:#f1f3ff;--muted:#a9b0d6;--primary:#8b9cff;--primary-text:#10142b;--border:hsla(0,0%,100%,.1);--shadow:0 12px 34px rgba(0,0,20,.45);--shadow-sm:0 3px 10px rgba(0,0,20,.35)}:root[data-mode=evening] body:before{animation:twinkle 4s ease-in-out infinite alternate;background-image:radial-gradient(1.5px 1.5px at 12% 22%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 78% 12%,#fff 60%,transparent),radial-gradient(2px 2px at 45% 65%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 88% 55%,#fff 60%,transparent),radial-gradient(1px 1px at 30% 85%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 62% 35%,#fff 60%,transparent),radial-gradient(1px 1px at 8% 60%,#fff 60%,transparent),radial-gradient(2px 2px at 95% 88%,#fff 60%,transparent);content:"";inset:0;opacity:.7;pointer-events:none;position:fixed;z-index:0}@keyframes twinkle{0%{opacity:.35}to{opacity:.85}}.dashboard{gap:1rem;padding-bottom:2rem}:root[data-section=routine] .family-menu-btn{background:var(--routine-panel,var(--surface-strong));box-shadow:none}.launch-panel{align-items:center;background:var(--routine-panel,var(--surface));border-radius:24px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin:0 1.5rem;padding:1.25rem 1.5rem}.launch-panel .btn-xl{font-weight:500}.launch-panel h2{font-size:1.6rem;margin-bottom:.35rem}.launch-panel>div{gap:.35rem;max-width:60ch}.board-wrap,.launch-panel>div{display:flex;flex-direction:column}.board-wrap{flex:1;min-height:0}.board-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.25rem 1.5rem}.board{align-items:stretch;display:flex;flex:1;gap:1.25rem;min-height:0;overflow-x:auto;overflow-y:hidden;padding:1rem 1.5rem 1.5rem;scroll-snap-type:x proximity;scrollbar-width:thin}.dashboard .board{height:min(72vh,780px)}.board-kiosk .board{gap:2rem;padding:.5rem 2rem 1.75rem}:root[data-section=routine] .kiosk-bar{padding:1rem 1.75rem .5rem}:root[data-section=routine] .kiosk-icon{background:transparent;box-shadow:none}.board-empty,.board-loading{align-items:center;color:var(--muted);display:flex;flex-direction:column;font-size:1.2rem;gap:.5rem;margin:auto;text-align:center}.board-empty-icon{font-size:4rem}.column{--accent:#74c0fc;background:color-mix(in srgb,var(--accent) 22%,var(--surface-strong));border-radius:26px;display:flex;flex:0 0 clamp(280px,30vw,380px);flex-direction:column;min-height:0;overflow:hidden;scroll-snap-align:start;transition:box-shadow .3s ease}.board-kiosk .column{border-radius:30px;flex:1 0 clamp(360px,46vw,620px);max-width:760px}.board-kiosk .column:first-child{margin-left:auto}.board-kiosk .column:last-child{margin-right:auto}.column-complete{box-shadow:0 0 0 4px var(--accent)}.column-head{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem;padding:.75rem 1rem .25rem}.board-kiosk .column-head{gap:.5rem 1rem;padding:1.25rem 1.25rem .5rem}.column-head .avatar{background:#fff!important;box-shadow:none}.board-kiosk .column-head .avatar{font-size:2.625rem;height:4.5rem;width:4.5rem}.column-identity{align-items:center;border-radius:var(--radius-sm);display:flex;flex:1 1 14rem;gap:.75rem;min-width:0;padding:.25rem;text-align:left}.board-kiosk .column-identity{gap:1rem}.column-identity:disabled{opacity:1}.column-identity:not(:disabled):hover{background:hsla(0,0%,100%,.5)}.column-title{display:flex;flex-direction:column;min-width:0}.column-title h2{font-size:1.5rem;font-weight:500;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-kiosk .column-title h2{font-size:2.25rem}.column-count{color:var(--muted);font-size:.8rem;font-weight:800;white-space:nowrap}.board-kiosk .column-count{font-size:1rem}.column-edit-hint{color:var(--muted);margin-left:auto}.column-move{font-size:1.6rem}.column-dots{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.3rem;justify-content:flex-end;margin-left:auto}.column-dots i{background:hsla(0,0%,100%,.65);border-radius:50%;color:var(--text);display:grid;font-family:var(--font-display);font-size:.75rem;font-style:normal;font-weight:600;height:1.375rem;line-height:1;opacity:.6;place-items:center;transition:background .3s ease,color .3s ease,opacity .3s ease,width .3s ease,height .3s ease,font-size .3s ease;width:1.375rem}.column-dots i.on{background:var(--accent);color:#fff;opacity:1}.column-dots i.big{font-size:1.125rem;height:2rem;width:2rem}.items{-webkit-overflow-scrolling:touch;display:flex;flex:1;flex-direction:column;gap:.5rem;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:.75rem;scrollbar-width:thin}.board-kiosk .items{align-content:start;display:grid;gap:.875rem;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));padding:1rem}.board-kiosk .items-empty{grid-column:1/-1}.items-empty{color:var(--muted);font-weight:600;padding:2rem 1rem;text-align:center}.column-add{align-items:center;background:transparent;border:3px dashed var(--border);box-shadow:none;color:var(--muted);font-size:1.1rem;font-weight:700;gap:.75rem;justify-content:center;min-height:220px;transition:background .2s ease,color .2s ease}.column-add:hover{background:var(--routine-panel,var(--surface));color:var(--text)}.column-add-icon{font-size:3rem;line-height:1}.item{--item-bg:var(--surface-strong);background:var(--item-bg);box-shadow:var(--routine-shadow,var(--shadow-sm));transition:transform .2s ease,background .3s ease,opacity .3s ease}.item,.item-check{border-radius:16px}.item-check{-webkit-touch-callout:none;align-items:center;display:flex;gap:.85rem;padding:.9rem 1rem;text-align:left;touch-action:pan-y;user-select:none;-webkit-user-select:none;width:100%}.board-kiosk .item{aspect-ratio:1/1;border-radius:24px;container-type:inline-size}.board-kiosk .item-check{border-radius:24px;flex-direction:column;gap:.5rem;height:100%;justify-content:center;padding:.75rem;position:relative;text-align:center}.item-check:active,.item.pressing .item-check{transform:scale(.97)}.item.pressing{--item-bg:color-mix(in srgb,var(--accent) 18%,var(--surface-strong));transition:transform .1s ease,background .1s ease}.item.pressing .item-box{transform:scale(1.1)}.item-emoji{flex-shrink:0;font-size:1.9rem;line-height:1;transition:transform .3s ease}.board-kiosk .item-emoji{font-size:48px;font-size:min(56px,36cqi)}.item-text{flex:1;font-size:1.15rem;font-weight:700;line-height:1.25;transition:color .3s ease}.board-kiosk .item-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;flex:0 0 auto;font-size:16px;font-size:clamp(15px,11cqi,17px);font-weight:800;line-height:1.15;overflow:hidden;overflow-wrap:anywhere}.item-box{border:3px solid var(--accent);border-radius:12px;color:#fff;display:grid;flex-shrink:0;height:2.2rem;place-items:center;transition:background .25s ease,transform .25s ease;width:2.2rem}.board-kiosk .item-box{border-radius:50%;height:30px;position:absolute;right:10px;top:10px;width:30px}.item-tick{height:70%;opacity:0;transform:scale(.4);transition:opacity .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1);width:70%}.item.done{background:color-mix(in srgb,var(--accent) 45%,var(--item-bg))}.item.done .item-text{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:3px}.item.done .item-box{background:var(--accent)}.item.done .item-tick{opacity:1;transform:scale(1)}.board-kiosk .item.done{--item-bg:var(--accent);color:#fff}.board-kiosk .item.done .item-text{color:#fff;text-decoration:none}.board-kiosk .item.done .item-box{background:#fff;border-color:#fff;color:var(--accent)}.item.pop{animation:pop .6s cubic-bezier(.34,1.56,.64,1)}.item.pop .item-emoji{animation:wiggle .7s ease}.item.locked .item-check{cursor:default}.item.nudge .item-box{animation:locked-pulse .5s ease}.item.nudge .item-emoji{animation:wiggle .7s ease}@keyframes locked-pulse{0%{transform:scale(1)}45%{transform:scale(1.16)}to{transform:scale(1)}}@keyframes pop{0%{transform:scale(1)}35%{transform:scale(1.06) rotate(-1.5deg)}70%{transform:scale(.98) rotate(1deg)}to{transform:scale(1)}}@keyframes wiggle{0%{transform:rotate(0) scale(1)}30%{transform:rotate(-18deg) scale(1.4)}60%{transform:rotate(14deg) scale(1.3)}to{transform:rotate(0) scale(1)}}.item-edit{align-items:center;display:flex;gap:.5rem;padding:.5rem .6rem}.item-edit input{background:rgba(127,127,160,.1);border:2px solid transparent;border-radius:12px;flex:1;font-weight:700;min-width:0;outline:none;padding:.6rem .75rem}.item-edit input:focus{background:var(--surface-strong);border-color:var(--primary)}.item-actions{display:flex;gap:.1rem}.item-actions .icon-btn{font-size:1rem;height:2rem;width:2rem}.emoji-btn{background:var(--surface-strong);border-radius:14px;box-shadow:var(--routine-shadow,none);display:grid;flex-shrink:0;font-size:1.6rem;height:2.75rem;line-height:1;place-items:center;transition:background .15s ease,transform .12s ease;width:2.75rem}.emoji-btn:hover{background:rgba(127,127,160,.22)}.emoji-btn:active{transform:scale(.94)}.add-item{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;padding:.25rem .75rem .75rem}.add-item input{background:var(--surface-strong);border:2px solid transparent;border-radius:999px;box-shadow:var(--routine-shadow,none);flex:1;font-weight:600;min-width:0;outline:none;padding:.7rem .9rem}.add-item input:focus{border-color:var(--primary)}.add-item .form-error{flex-basis:100%;font-size:.9rem}.drag-handle{border-radius:10px;color:var(--muted);cursor:grab;display:grid;flex-shrink:0;font-size:1.3rem;height:2.75rem;place-items:center;touch-action:none;transition:background .15s ease,color .15s ease;user-select:none;-webkit-user-select:none;width:2rem}.drag-handle:hover{background:rgba(127,127,160,.14);color:var(--text)}.drag-handle:active{cursor:grabbing}.column-grip{height:2.75rem;margin-right:.25rem}.item.dragging{box-shadow:0 12px 28px rgba(50,80,140,.25);opacity:.95;position:relative;z-index:5}.column.dragging{box-shadow:0 18px 40px rgba(50,80,140,.3);z-index:5}.suggestions{background:rgba(127,127,160,.06);border:2px dashed var(--border);border-radius:18px;display:flex;flex-direction:column;gap:.6rem;padding:.75rem}.suggestions-head{align-items:center;color:var(--muted);display:flex;font-size:.9rem;font-weight:800;gap:.5rem;justify-content:space-between}.suggestions-list{display:flex;flex-wrap:wrap;gap:.4rem}.suggestion{align-items:center;background:var(--surface-strong);border-radius:999px;box-shadow:var(--shadow-sm);display:inline-flex;font-size:.9rem;font-weight:700;gap:.4rem;padding:.4rem .7rem .4rem .5rem;text-align:left;transition:transform .12s ease,background .15s ease}.suggestion:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface-strong));transform:translateY(-1px)}.suggestion.pending{opacity:.5}.suggestion-emoji{font-size:1.2rem;line-height:1}.suggestion-plus{color:var(--primary);font-weight:900}.suggestions-all,.suggestions-toggle{align-self:flex-start;font-size:.9rem}.suggestions-toggle{margin:0 1rem}.suggestions-head-learn{margin-top:.25rem}.suggestion-learn{background:color-mix(in srgb,var(--accent) 14%,var(--surface-strong))}.item-kind{background:color-mix(in srgb,var(--accent) 18%,var(--surface));border-radius:999px;color:var(--muted);flex-shrink:0;font-size:.75rem;font-weight:800;padding:.25rem .55rem;white-space:nowrap}.learn{--accent:#74c0fc;-webkit-touch-callout:none;align-items:center;animation:fade-in .25s ease;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--accent) 38%,var(--bg)),var(--bg) 75%);color:var(--text);display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;padding:1.5rem;position:fixed;user-select:none;-webkit-user-select:none;z-index:900}.learn-close{background:var(--surface-strong);border-radius:50%;box-shadow:var(--shadow-sm);color:var(--muted);font-size:1.4rem;font-weight:800;height:3.2rem;position:absolute;right:max(1rem,env(safe-area-inset-right));top:max(1rem,env(safe-area-inset-top));width:3.2rem}.learn-question{font-family:var(--font-display);font-size:clamp(1.5rem,4vmin,2.4rem);font-weight:700;text-align:center}.learn-card{align-items:baseline;animation:learn-in .45s cubic-bezier(.34,1.56,.64,1);background:var(--surface-strong);border-radius:48px;box-shadow:0 0 0 10px var(--accent),var(--shadow);display:flex;gap:clamp(1rem,4vmin,2.5rem);justify-content:center;padding:clamp(1rem,4vmin,2.5rem) clamp(2rem,8vmin,4.5rem)}.learn-value{font-size:clamp(8rem,42vmin,20rem)}.learn-lower,.learn-value{font-family:var(--font-display);font-weight:700;line-height:1}.learn-lower{color:var(--muted);font-size:clamp(4.5rem,24vmin,11rem)}.learn[data-kind=digit] .learn-card{align-items:center;flex-direction:column;gap:1rem}.learn-dots{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;max-width:11rem}.learn-dots i{background:var(--accent);border-radius:50%;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);height:1.6rem;width:1.6rem}.learn-answer{color:var(--primary);font-family:var(--font-display);font-size:clamp(1.4rem,4vmin,2.2rem);font-weight:700;min-height:2.4rem;text-align:center}.learn-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:720px;width:100%}.learn-btn{background:var(--surface-strong);border-radius:999px;box-shadow:var(--shadow-sm);color:var(--text);flex:1 1 180px;font-family:var(--font-display);font-size:1.3rem;font-weight:700;min-height:3.8rem;padding:.9rem 1.4rem;transition:transform .12s ease}.learn-btn:active{transform:scale(.96)}.learn-btn-ok{background:#40c057;color:#fff;flex-basis:220px}.learn.bravo .learn-card{animation:bounce .5s ease infinite alternate}.learn.bravo .learn-question{margin-bottom:1.25rem}@keyframes learn-in{0%{opacity:0;transform:scale(.6) rotate(-4deg)}to{opacity:1;transform:none}}@media (max-width:600px){.learn{gap:.75rem;padding:1rem}.learn-card{border-radius:32px;box-shadow:0 0 0 6px var(--accent),var(--shadow)}.learn-btn{flex-basis:100%;font-size:1.15rem;min-height:3.4rem}}.printable-hero{align-items:center;display:grid;gap:3rem;grid-template-columns:1.1fr 1fr;padding-top:2rem}.printable-hero h1,.printable-hero h2{font-size:1.5em;margin-bottom:1rem;text-align:left}.printable-preview{background:#fff;border-radius:18px;box-shadow:var(--shadow);display:block;height:auto;margin:0 auto;transform:rotate(1.5deg);width:min(100%,340px)}.download-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0 .75rem}.age-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.age-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.age-card h3{font-size:1.3rem}.age-card p{color:var(--muted);line-height:1.5}.age-card h4{font-family:var(--font-display);font-size:1rem;font-weight:600;margin:.25rem 0 0}.age-card ul{font-weight:600;gap:.3rem;list-style:none;margin:0;padding:0}.age-card ul,.tips{display:flex;flex-direction:column}.tips{gap:1rem;line-height:1.6;margin:0 auto;max-width:76ch;width:100%}.tips h2{margin-bottom:0;text-align:left}.tips ul{display:flex;flex-direction:column;gap:.5rem;margin:0;padding-left:1.25rem}@media (max-width:860px){.printable-hero{grid-template-columns:1fr}.printable-preview{transform:none}}.mode-toggle{background:#f2f3f7;border-radius:999px;display:inline-grid;grid-template-columns:1fr 1fr;isolation:isolate;padding:5px;position:relative}:root[data-mode=evening] .mode-toggle{background:hsla(0,0%,100%,.1)}.mode-toggle-thumb{background:#fff;border-radius:999px;bottom:5px;box-shadow:0 2px 8px rgba(47,54,72,.1);left:5px;position:absolute;top:5px;transition:transform .3s cubic-bezier(.2,.8,.2,1);width:calc(50% - 5px);z-index:-1}.mode-toggle-thumb.right{transform:translateX(100%)}.mode-toggle-btn{align-items:center;border-radius:999px;color:var(--muted);display:flex;font-family:var(--font-display);font-size:1.125rem;font-weight:500;gap:.5rem;justify-content:center;padding:.55rem 1rem;transition:color .2s ease}.mode-toggle-btn.active{color:#22304a}.mode-toggle-icon{font-size:1em;line-height:1}.mode-toggle-lg .mode-toggle-btn{font-size:1.3rem;padding:.55rem 1.375rem}.hero{align-items:center;display:grid;gap:3rem;grid-template-columns:1.1fr 1fr;padding-top:2rem}.eyebrow{color:var(--primary);font-size:.8rem;font-weight:800;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.hero-text h1{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.1;margin-bottom:1rem}.hl{background:linear-gradient(transparent 60%,var(--accent) 60%)}.hero-visual{background:var(--surface);border-radius:28px;box-shadow:var(--shadow);padding:1rem;position:relative;transform:rotate(-1.5deg)}.mock-bar{display:flex;gap:.5rem;justify-content:center;margin-bottom:.75rem}.mock-pill{background:var(--surface-strong);border-radius:999px;box-shadow:var(--shadow-sm);font-size:.9rem;font-weight:800;padding:.35rem .9rem}.mock-pill.dim{box-shadow:none;opacity:.5}.mock-board{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.mock-column{background:var(--surface-strong);border-radius:18px;border-top:6px solid var(--accent);display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.mock-head{align-items:center;display:flex;font-family:var(--font-display);font-size:1.1rem;gap:.5rem;margin-bottom:.25rem}.mock-avatar{background:var(--accent);border-radius:50%;display:grid;font-size:1.3rem;height:2.2rem;place-items:center;width:2.2rem}.mock-item{background:rgba(127,127,160,.1);border-radius:12px;font-size:.9rem;font-weight:700;padding:.55rem .7rem}.mock-item.done{background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--muted);text-decoration:line-through;text-decoration-color:var(--accent)}.mock-confetti{animation:float 2.4s ease-in-out infinite;font-size:2rem;position:absolute}.mock-confetti.c1{right:8%;top:-1rem}.mock-confetti.c2{animation-delay:.6s;bottom:-.5rem;left:6%}.mock-confetti.c3{animation-delay:1.2s;right:.4rem;top:40%}.features-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.5rem;padding:1.5rem}.feature-icon{font-size:2rem}.feature h3{font-size:1.2rem}.feature p{color:var(--muted);line-height:1.5}.steps-list{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));list-style:none;margin:0;padding:0}.steps-list li{align-items:flex-start;display:flex;gap:1rem}.steps-list h3{font-size:1.15rem;margin-bottom:.25rem}.steps-list p{color:var(--muted);line-height:1.5}.step-n{background:var(--primary);border-radius:50%;color:var(--primary-text);display:grid;flex-shrink:0;font-family:var(--font-display);font-size:1.3rem;height:2.6rem;place-items:center;width:2.6rem}.story{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem;line-height:1.6;margin:0 auto;max-width:72ch;padding:2.25rem}.story>h2{text-align:left}.story .eyebrow,.story>h2{margin-bottom:0}.story-sign{color:var(--muted);font-weight:700}.seo-text{display:flex;flex-direction:column;gap:1rem;line-height:1.6;margin:0 auto;max-width:72ch}.seo-text h2{margin-bottom:0;text-align:left}.faq{margin:0 auto;max-width:76ch;width:100%}.faq details{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:.75rem;padding:1rem 1.25rem}.faq summary{cursor:pointer;font-size:1.05rem;font-weight:800}.faq details p{color:var(--muted);line-height:1.55;margin-top:.75rem}.final-cta{align-items:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.25rem;padding:3rem 1.5rem;text-align:center}.final-cta h2{margin-bottom:0}:root[data-mode=evening] body:has(.landing):before{display:none}@media (max-width:860px){.hero{gap:2rem;grid-template-columns:1fr}.hero-visual{transform:none}.hero-text h1{font-size:clamp(1.8rem,8vw,2.6rem)}}.demo{gap:.75rem;padding-bottom:2rem}.demo .board{height:min(70vh,760px)}.demo-banner{background:rgba(255,184,107,.25);border:2px dashed rgba(255,184,107,.8);border-radius:var(--radius-sm);font-weight:600;line-height:1.4;margin:0 1.5rem;padding:.7rem 1rem}.demo-footer{align-items:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin:1rem 1.5rem 0;padding:1.5rem 2rem}.demo-footer p{font-weight:600;line-height:1.5;max-width:60ch}@media (max-width:720px){.demo-banner,.demo-footer{margin-left:1rem;margin-right:1rem}.board-toolbar{padding-left:1rem;padding-right:1rem}.launch-panel{margin:0 1rem;padding:1rem}.launch-panel .btn-xl{width:100%}.topbar .mode-toggle{flex-basis:100%;order:1}.topbar .topbar-nav{order:2}.board,.board-kiosk .board{gap:.75rem;padding:.5rem 1rem 1rem;scroll-padding:0 1rem;scroll-snap-type:x mandatory}.board-kiosk .column,.column{flex:0 0 min(86vw,400px);scroll-snap-align:center}.board-kiosk .column:first-child{margin-left:0}.board-kiosk .column:last-child{margin-right:0}}:root[data-section=calendrier],:root[data-site=calendrier],body:has(.landing-calendrier){--bg:#d6f5e3;--bg-gradient:linear-gradient(160deg,#e3fbef,#c9f0dd 45%,#fff3c4);--primary:#2f9e44;--accent:#ffd93d}:root[data-section=heros],:root[data-site=heros],body:has(.landing-heros){--bg:#ead9ff;--bg-gradient:linear-gradient(160deg,#f1e6ff,#dcc7ff 45%,#ffe1ec);--primary:#7048e8;--accent:#ffd93d}:root[data-section=echecs],:root[data-site=echecs],body:has(.landing-echecs){--bg:#ffe8cc;--bg-gradient:linear-gradient(160deg,#fff4e6,#ffdcb0 45%,#e7f5ff);--primary:#d9480f;--accent:#ffd93d}body:has(.home){--bg:#fff;--bg-gradient:none}body:has(.home) .family-menu-btn{background:#f8f8fb;box-shadow:none}.home{gap:1.25rem;padding-bottom:2rem}.home-intro{margin:0 1.5rem}.home-intro h2{font-size:1.6rem;margin-bottom:.25rem}.app-tiles{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 1.5rem}.app-tile{--tile:#4f8cff;background:color-mix(in srgb,var(--tile) 12%,#fff);border-radius:26px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.app-tile-head{align-items:center;display:flex;gap:1rem}.app-tile-head img{border-radius:22%;box-shadow:0 3px 10px rgba(0,0,0,.12);flex-shrink:0;height:3.5rem;width:3.5rem}.app-tile-head h2{font-size:1.6rem;font-weight:500;margin:0}.app-tile-head p{color:var(--muted);font-weight:600}.app-tile .section-badge{background:#fff}.app-tile .btn:not(.btn-primary){box-shadow:none}.app-tile-kids{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;min-height:2rem}.app-tile-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto}.home-children{backdrop-filter:none;background:#f8f8fb;border-radius:26px;box-shadow:none;margin:0 1.5rem}.home-children h2{font-size:1.3rem;margin-bottom:.75rem}.home-child-list{display:flex;flex-direction:column;gap:.6rem}.home-child{--accent:#74c0fc;align-items:center;background:color-mix(in srgb,var(--accent) 22%,#fff);border-radius:18px;display:flex;gap:.9rem;padding:.6rem .9rem;text-align:left;transition:transform .12s ease,background .15s ease;width:100%}.home-child:hover{background:color-mix(in srgb,var(--accent) 32%,#fff);transform:translateY(-1px)}.home-child .avatar{background:#fff!important;box-shadow:none}.home-child .section-badge{background:#fff}.home-child strong{font-size:1.1rem}.home-child .section-badges{margin-left:auto}.home-child-hint{color:var(--muted);font-size:.9rem}.landing .hero-visual.today-mock-frame{background:#22304a;border-radius:26px;margin-inline:auto;max-width:100%;overflow:hidden;padding:.55rem;width:fit-content}.today-mock{--z:0.42;zoom:var(--z);background:#fff;border-radius:44px;box-sizing:border-box;height:720px;overflow:hidden;padding:.25rem 1.25rem 1.25rem;pointer-events:none;width:1100px}@media (max-width:1100px){.today-mock{--z:0.36}}@media (max-width:860px){.today-mock{--z:0.5}}@media (max-width:640px){.today-mock{--z:0.3}}@media (max-width:380px){.today-mock{--z:0.26}}.landing-apps .hero-visual{padding:1.5rem;transform:none}.site-tiles{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.site-tile{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:inherit;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.site-tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.site-tile img{border-radius:18px;height:4rem;width:4rem}.site-tile h3{font-size:1.3rem}.site-tile p{color:var(--muted);line-height:1.5}.site-tile.soon{opacity:.7}.site-tile .tag{align-self:flex-start}.hero-family{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.hero-family .mock-column{min-height:7rem}@media (max-width:720px){.app-tiles,.home-children,.home-intro{margin-left:1rem;margin-right:1rem}.app-tile-actions .btn{flex:1}.home-child .section-badges{flex-basis:100%;margin-left:0}.demo .topbar,.home-child{flex-wrap:wrap}.demo .topbar-nav{flex-basis:100%;flex-wrap:wrap;justify-content:flex-end}}