.acc{max-width:760px;margin:0 auto;padding:var(--s-6) var(--s-4) var(--s-10)}.acc__brand{text-align:center;margin-bottom:var(--s-6)}.acc__emoji{font-size:3rem;line-height:1;display:block;margin-bottom:var(--s-3)}.acc__brand h1{font-size:2.25rem;line-height:1.1;letter-spacing:-.015em}.acc__brand p{color:var(--mut);margin:var(--s-2) 0 0}.acc-panel{background:var(--glass);border:1px solid var(--line);border-radius:var(--r-hero);padding:var(--s-5) var(--s-4);position:relative}.acc-panel:before{content:"";position:absolute;inset:0 var(--s-5) auto;height:1px;background:var(--rim);pointer-events:none}.acc-panel+.acc-panel{margin-top:var(--s-5)}@media(min-width:760px){.acc-panel{padding:var(--s-6) var(--s-6)}}.acc__msg{min-height:1.6em;margin:var(--s-3) 0 0;color:var(--warn-dark)}.acc__msg:empty{margin:0}.acc__field{display:grid;gap:var(--s-2);margin-bottom:var(--s-4)}.acc__field label{font:600 .75rem/1.4 var(--fb);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}.acc__field .small{color:var(--mut-2)}.acc__input{width:100%;font:500 1.125rem/1.4 var(--fb);color:var(--cream);background:var(--night-2);border:1px solid var(--line);border-radius:var(--r-panel);padding:.8rem 1rem;transition:border-color var(--t-micro) var(--e)}.acc__input:hover{border-color:var(--line-hi)}.acc__input::placeholder{color:var(--mut-2)}.acc__input--code{text-transform:uppercase;letter-spacing:.16em;font-family:var(--fd);font-size:1.75rem;text-align:center}.acc__actions{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;margin-top:var(--s-4)}.acc__toast{position:fixed;left:50%;bottom:calc(var(--s-6) + env(safe-area-inset-bottom));transform:translate(-50%);z-index:20}.btn--danger{border-color:var(--danger-dark);color:var(--danger-dark)}.btn--danger:hover{border-color:var(--danger-dark);background:#f089741a}.kl__step{display:grid;gap:var(--s-3)}.kl__steps{display:flex;justify-content:center;gap:.5rem;margin:0 0 var(--s-2)}.kl__pip{width:10px;height:10px;box-sizing:border-box;border-radius:var(--r-chip);background:transparent;border:1px solid var(--line)}.kl__pip--done{background:var(--gold-soft)}.kl__pip--now{background:var(--gold);border-color:var(--gold-soft)}.kl__stepcap{text-align:center;margin:0}.kl__q{font:400 1.75rem/1.15 var(--fd);color:var(--cream);text-align:center;margin:var(--s-3) 0 0}.kl__sub{text-align:center;color:var(--mut);margin:.35rem 0 0}.kl__picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s-3)}.kl__kid{display:grid;justify-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-3);background:var(--glass);border:1px solid var(--line);border-radius:var(--r-hero);color:var(--cream);font:600 1rem/1.3 var(--fb);cursor:pointer;transition:transform var(--t-state) var(--e),border-color var(--t-micro) var(--e)}.kl__kid:hover{transform:translateY(-3px);border-color:var(--line-hi)}.kl__kid span:first-child{font-size:2.5rem;line-height:1}.kl__who{display:flex;align-items:center;justify-content:center;gap:var(--s-2);font:600 1.125rem/1.3 var(--fb);color:var(--cream)}.kl__who span:first-child{font-size:2rem}.kl__dots{display:flex;justify-content:center;gap:var(--s-3);margin:var(--s-2) 0}.kl__dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-hi);transition:background var(--t-micro) var(--e)}.kl__dot--on{background:var(--gold);border-color:var(--gold)}.kl__pad{display:grid;grid-template-columns:repeat(3,72px);gap:var(--s-3);justify-content:center;border-radius:var(--r-panel);padding:var(--s-2)}.kl__key{width:72px;height:64px;border-radius:var(--r-btn);background:var(--glass-2);border:1px solid var(--line);color:var(--cream);font:500 1.5rem/1 var(--fd);cursor:pointer;transition:border-color var(--t-micro) var(--e),transform var(--t-press) var(--e)}.kl__key:hover{border-color:var(--line-hi)}.kl__key:active{transform:scale(.99)}.kl__key--blank{visibility:hidden}.kl__divider{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid rgba(255,255,255,.07);text-align:center;display:grid;gap:var(--s-3);justify-items:center;color:var(--mut)}.kl__devlink{margin-top:var(--s-3)}.kd__hdr{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-5)}.kd__avatar{width:56px;height:56px;border-radius:var(--r-panel);background:var(--glass-2);border:1px solid var(--line);display:grid;place-items:center;font-size:1.75rem}.kd__hi{flex:1 1 200px}.kd__hi h1{font-size:1.75rem;line-height:1.15}.kd__hi p{margin:0;color:var(--gold-soft)}.kd__stars{font:500 1.75rem/1 var(--fd);color:var(--cream);display:flex;align-items:center;gap:var(--s-1)}.kd__date{font:400 1.125rem/1.55 var(--fd);font-style:italic;color:var(--mut);margin:0 0 var(--s-4)}.kd__sec{margin:var(--s-6) 0 var(--s-3)}.kd__habits{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s-3)}.kd__habit{display:grid;gap:var(--s-1);justify-items:center;text-align:center;padding:var(--s-4) var(--s-2);background:var(--glass);border:1px solid var(--line);border-radius:var(--r-hero);color:var(--ink-night);font:500 .9375rem/1.3 var(--fb);cursor:pointer;transition:transform var(--t-state) var(--e),border-color var(--t-micro) var(--e),background var(--t-micro) var(--e)}.kd__habit:hover{transform:translateY(-3px);border-color:var(--line-hi)}.kd__habit span:first-child{font-size:1.75rem;line-height:1}.kd__habit .small{color:var(--mut-2)}.kd__habit[aria-pressed=true]{background:var(--emerald-900);border-color:var(--line-hi);color:var(--cream)}.kd__habit[aria-pressed=true] .small{color:var(--success-dark)}.kd__level{display:flex;align-items:center;gap:var(--s-4)}.kd__level-icon{font-size:2.5rem;line-height:1}.kd__level-body{flex:1;display:grid;gap:var(--s-2)}.kd__level-name{font:600 1.375rem/1.25 var(--fb);color:var(--cream)}.kd__bar{height:10px;border-radius:var(--r-chip);background:var(--glass-2);overflow:hidden}.kd__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--emerald-700),var(--gold));transition:width var(--t-enter) var(--e)}.kd__week{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s-2)}.kd__day{display:grid;justify-items:center;gap:var(--s-2)}.kd__ring{width:clamp(42px,10vw,58px);aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p) * 360deg),var(--glass-2) 0);display:grid;place-items:center;position:relative}.kd__ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--night-1)}.kd__ring span{position:relative;z-index:1;font:600 .75rem/1 var(--fb);color:var(--cream)}.kd__day--today .kd__ring{outline:2px solid var(--gold-soft);outline-offset:2px}.kd__day .small{color:var(--mut-2)}.kd__badges{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s-3)}.kd__badge{display:grid;justify-items:center;text-align:center;gap:var(--s-1);padding:var(--s-4) var(--s-2);background:var(--glass);border:1px solid var(--line);border-radius:var(--r-panel);color:var(--mut-2)}.kd__badge span:first-child{font-size:1.75rem;line-height:1;filter:grayscale(1);opacity:.6}.kd__badge strong{font-weight:600;font-size:.9375rem}.kd__badge--on{border-color:var(--line-hi);color:var(--ink-night)}.kd__badge--on span:first-child{filter:none;opacity:1}.kd__badge--on strong{color:var(--gold-soft)}.kd__stories{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}.kd__story{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--glass);border:1px solid var(--line);border-radius:var(--r-panel)}.kd__story strong{flex:1;font-weight:600;color:var(--cream)}.kd__story .small{color:var(--mut)}.kd__perfect{font:600 .75rem/1.4 var(--fb);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-on-gold);background:var(--gold-soft);border-radius:var(--r-tag);padding:.1rem .4rem}.kd__empty{color:var(--mut);text-align:center;padding:var(--s-5);background:var(--glass);border:1px solid var(--line);border-radius:var(--r-panel)}.kd__foot{text-align:center;margin-top:var(--s-7)}.pd__hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5)}.pd__hdr h1{font-size:2.25rem;line-height:1.1}.pd__hdr p{margin:var(--s-1) 0 0;color:var(--mut)}.pd__kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-4)}.pd__kid{display:grid;gap:var(--s-2);padding:var(--s-5) var(--s-4);background:var(--glass);border:1px solid var(--line);border-radius:var(--r-hero)}.pd__kid-avatar{font-size:2.5rem;line-height:1}.pd__kid h3{color:var(--cream)}.pd__kid .small{color:var(--mut)}.pd__kid-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}.pd__pinform{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-top:var(--s-2)}.pd__pinform .acc__input{width:9rem}.pd__tag{display:inline-block;font:600 .75rem/1.4 var(--fb);letter-spacing:.16em;text-transform:uppercase;color:var(--warn-dark);border:1px solid var(--warn-dark);border-radius:var(--r-tag);padding:.1rem .4rem;width:max-content}.pd__avatars{display:flex;flex-wrap:wrap;gap:var(--s-2)}.pd__avatar{width:52px;height:52px;border-radius:var(--r-panel);background:var(--glass);border:1px solid var(--line);font-size:1.5rem;cursor:pointer;transition:border-color var(--t-micro) var(--e),background var(--t-micro) var(--e)}.pd__avatar:hover{border-color:var(--line-hi)}.pd__avatar[aria-pressed=true]{background:var(--emerald-900);border-color:var(--gold)}.pd__steps{margin:var(--s-2) 0 0;padding-left:1.25rem;color:var(--ink-night)}.pd__steps li+li{margin-top:var(--s-1)}.pd__err-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-4)}.kd__hero{position:relative;border:1px solid var(--line);border-radius:var(--r-hero);background:linear-gradient(160deg,#0b6e4f2e,#ffffff0d);padding:var(--s-4);overflow:hidden;margin-top:var(--s-4)}.kd__hero:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--rim)}.kd__hero-grid{display:grid;gap:var(--s-5)}.kd__hero .kd__habits{grid-template-columns:repeat(3,1fr)}.kd__hero .kd__sec{margin:0 0 var(--s-3)}.kd__hero .kd__week{grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s-1)}.kd__hero .kd__ring{width:min(100%,58px)}.kd__hero .kd__level{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line)}.kd__hero .kd__streak{margin:var(--s-3) 0 0;color:var(--mut)}.kd__twocol{display:grid;gap:var(--s-4);margin-top:var(--s-5)}.kd__twocol .kd__badges{grid-template-columns:repeat(2,1fr)}.kd__twocol .kd__sec{margin:0 0 var(--s-3)}.kd__twocol .acc-panel+.acc-panel{margin-top:0}.kd__twocol .kd__story{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:var(--s-3);row-gap:var(--s-2)}.kd__twocol .kd__story strong,.kd__twocol .kd__story .small,.kd__twocol .kd__perfect{grid-column:2;justify-self:start}.kd__habit{position:relative}.kd__habit[aria-pressed=true]:after{content:"✓";position:absolute;top:.35rem;right:.5rem;font:600 .75rem/1 var(--fb);color:var(--gold-soft)}.kd__habit[aria-disabled=true]{opacity:.7;cursor:progress}@media(max-width:759.98px){.kd__hero{padding:var(--s-4) var(--s-3)}.kd__hero .kd__week{margin-inline:calc(var(--s-1) * -1)}}@media(min-width:760px){.kd__hero{padding:var(--s-6)}.kd__hero-grid{grid-template-columns:1fr 340px;gap:var(--s-6);align-items:start}.kd__twocol{grid-template-columns:1fr 1fr;gap:var(--s-5);align-items:start}}.pd__ticket{position:relative;border:1px solid var(--line);border-radius:var(--r-hero);background:linear-gradient(160deg,#0b6e4f33,#ffffff0d);padding:var(--s-5) var(--s-4);display:grid;gap:var(--s-3);overflow:hidden}.pd__ticket:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--rim)}.pd__ticket-stub{border-bottom:1px dashed var(--line);padding-bottom:var(--s-3)}.pd__ticket-stub .small{color:var(--mut);margin:.3rem 0 0}.pd__ticket-code{font:400 2.25rem/1.2 var(--fd);letter-spacing:.16em;color:var(--gold-soft);margin:0;overflow-wrap:anywhere}.pd__ticket-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-3)}.pd__ticket-row .small{color:var(--mut);max-width:34ch;margin:0}@media(min-width:760px){.pd__ticket{grid-template-columns:minmax(170px,max-content) 1fr;align-items:center;padding:var(--s-6)}.pd__ticket-stub{border-bottom:0;border-right:1px dashed var(--line);padding-bottom:0;padding-right:var(--s-5)}.pd__ticket-code{font-size:3rem}}
