.fit{display:flex;flex-direction:column;gap:var(--s-4)}.fit-person{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.fit-person--done{border-color:#4fbf7373;background:linear-gradient(180deg,rgba(79,191,115,.1),transparent 60%),var(--surface)}.fit-person__head{display:flex;align-items:center;gap:var(--s-3)}.fit-person__who{display:flex;flex-direction:column;min-width:0;flex:1}.fit-person__total{display:flex;flex-direction:column;align-items:flex-end;line-height:1}.fit-person__total span{font-size:var(--fs-h1);font-weight:300}.fit-person__total small{font-size:var(--fs-caption);color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em}.fit-person__flash{margin:0;font-size:var(--fs-small);font-weight:650;color:var(--success);animation:fade var(--dur-slow) var(--ease)}.fit-ex{display:grid;grid-template-columns:minmax(6rem,1fr) auto auto;align-items:center;gap:var(--s-3)}.fit-ex__label{display:flex;align-items:center;gap:var(--s-2);min-width:0;font-weight:600}.fit-ex__icon{font-size:1.25rem;line-height:1}.fit-ex__sets{display:flex;gap:var(--s-2)}.fit-ex__total{min-width:2.5rem;text-align:right;font-size:var(--fs-lead);font-weight:650}.fit-set{width:calc(var(--touch) * 1.35);height:calc(var(--touch) * 1.35);border-radius:var(--r-md);border:1.5px dashed var(--line-strong);background:var(--surface-sunken);color:var(--text-faint);font-size:var(--fs-lead);font-weight:650;display:grid;place-items:center;transition:transform var(--dur-fast) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.fit-set:active{transform:scale(.94)}.fit-set--filled{border-style:solid;border-color:transparent;background:var(--accent-soft);color:var(--accent)}.fit-set--extra{opacity:.75}.fit-set--add{border-style:solid;border-color:var(--line);color:var(--text-muted)}.fit-count{display:flex;align-items:center;gap:var(--s-3)}.fit-count__step{width:calc(var(--touch) * 1.6);height:calc(var(--touch) * 1.6);flex-shrink:0;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:var(--fs-h2);font-weight:300;line-height:1}.fit-count__step:active{transform:scale(.94)}.fit-count__value{flex:1;min-width:0;text-align:center;font-size:var(--fs-display);font-weight:300;line-height:1.1;background:none;border:none;color:var(--text);padding:0;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.fit-count__value::-webkit-outer-spin-button,.fit-count__value::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.fit-count__value:focus{outline:none}.fit-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2)}.fit-quick__chip{min-height:var(--touch);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);color:var(--text-muted);font-weight:650;font-variant-numeric:tabular-nums}.fit-quick__chip--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.fit-h2h{display:flex;flex-direction:column;gap:var(--s-2)}.fit-h2h__track{display:flex;height:.75rem;border-radius:var(--r-pill);overflow:hidden;background:var(--surface-sunken)}.fit-h2h__part{transition:flex-grow var(--dur-slow) var(--ease)}.fit-h2h__empty{flex:1}.fit-h2h__legend{display:flex;flex-wrap:wrap;gap:var(--s-4);font-size:var(--fs-small);color:var(--text-muted)}.fit-h2h__item{display:inline-flex;align-items:center;gap:var(--s-2)}.fit-h2h__dot{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0}.fit-chart{display:block;width:100%;height:4.5rem;overflow:visible}.fit-series{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3) 0}.fit-series+.fit-series{border-top:1px solid var(--line)}.fit-series__head{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-small)}.fit-series__figures{margin-left:auto;display:flex;gap:var(--s-4);color:var(--text-muted);font-size:var(--fs-caption)}.fit-axis{display:flex;justify-content:space-between;font-size:var(--fs-caption);color:var(--text-faint)}.fit-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:var(--s-3)}.fit-tile{background:var(--surface-sunken);border-radius:var(--r-md);padding:var(--s-3);text-align:center}.fit-tile__value{font-size:var(--fs-h2);font-weight:300;line-height:1.1;display:block}.fit-tile__label{font-size:var(--fs-caption);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.fitalarm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;overflow-y:auto;padding:var(--s-5) var(--s-4) var(--s-6);background:radial-gradient(120% 90% at 50% 0%,#7a3d12,#3a1d0d 55%,#180d06);color:#fff;animation:fade var(--dur-slow) var(--ease)}.fitalarm--done{background:radial-gradient(120% 90% at 50% 0%,#1f4a3c,#13291f 60%,#0b1712)}.fitalarm__content{position:relative;z-index:1;max-width:34rem;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:var(--s-4)}.fitalarm__icon{font-size:4.5rem;line-height:1;animation:fit-pulse 1.6s var(--ease) infinite}@keyframes fit-pulse{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.08) rotate(3deg)}}.fitalarm__headline{font-size:clamp(2rem,7vw,3.2rem);font-weight:700;line-height:1.1;text-wrap:balance;margin:0}.fitalarm__sub{font-size:var(--fs-lead);opacity:.85;margin:0}.fitalarm__primary{width:100%;min-height:calc(var(--touch) * 1.9);border-radius:var(--r-pill);background:#fff;color:#3a1d0d;font-size:var(--fs-h3);font-weight:700;box-shadow:0 12px 32px #00000059;transition:transform var(--dur-fast) var(--ease)}.fitalarm__primary:active{transform:scale(.97)}.fitalarm__secondary{width:100%;min-height:calc(var(--touch) * 1.3);border-radius:var(--r-pill);background:#ffffff24;color:#fff;font-weight:600}.fitalarm__avatars{display:flex;justify-content:center;gap:var(--s-5)}.fitalarm__progress{font-size:var(--fs-lead);opacity:.85;margin:0}.fit--overlay{text-align:left}.fit--overlay .fit-person{background:#ffffff14;border-color:#ffffff29}.fit--overlay .fit-person--done{background:#5ed69b29;border-color:#5ed69b80}.fit--overlay .fit-set{border-color:#ffffff59;background:#ffffff0f;color:#fff9}.fit--overlay .fit-set--filled{background:#ffffffeb;color:#3a1d0d;border-color:transparent}.fit--overlay .fit-person__total small,.fit--overlay .caption,.fit--overlay .faint{color:#ffffff9e}@media(prefers-reduced-motion:reduce){.fitalarm__icon{animation:none}}.routine{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:var(--s-5);overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#2b3f6b,#131d33 55%,#0b1220);color:#fff;animation:routine-dim var(--dur-slow) var(--ease)}.routine--done{background:radial-gradient(120% 90% at 50% 0%,#1f4a3c,#13291f 60%,#0b1712)}@keyframes routine-dim{0%{opacity:0}}.routine__content{position:relative;z-index:1;text-align:center;max-width:32rem;width:100%}.routine__icon{font-size:5.5rem;line-height:1;margin-bottom:var(--s-4);animation:routine-bob 2.6s var(--ease) infinite}.routine__icon--calm{animation:none}@keyframes routine-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-.6rem) rotate(4deg)}}.routine__headline{font-size:clamp(2rem,7vw,3.2rem);font-weight:700;line-height:1.1;margin-bottom:var(--s-5);text-wrap:balance}.routine__headline--small{font-size:clamp(1.5rem,5vw,2.2rem);margin-bottom:var(--s-2)}.routine__sub{font-size:var(--fs-lead);opacity:.8}.routine__progress{opacity:.75;margin-bottom:var(--s-5)}.routine__primary{display:block;width:100%;min-height:calc(var(--touch) * 1.9);padding:var(--s-4) var(--s-6);border-radius:var(--r-pill);background:#fff;color:#16233d;font-size:var(--fs-h3);font-weight:700;box-shadow:0 12px 32px #00000052;transition:transform var(--dur-fast) var(--ease)}.routine__primary:active{transform:scale(.97)}.routine__secondary{display:block;width:100%;min-height:calc(var(--touch) * 1.3);margin-top:var(--s-4);border-radius:var(--r-pill);background:#ffffff24;color:#fff;font-size:var(--fs-body);font-weight:600}.routine__sound{display:block;width:100%;min-height:var(--touch);margin-bottom:var(--s-4);border-radius:var(--r-pill);background:#ffffff1f;color:#fff;font-size:var(--fs-small);font-weight:600}.routine__steps{list-style:none;margin:0 0 var(--s-5);padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.routine__step{display:flex;align-items:center;gap:var(--s-4);width:100%;min-height:calc(var(--touch) * 1.5);padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:#ffffff1a;color:#fff;font-size:var(--fs-lead);font-weight:600;text-align:left;transition:background var(--dur) var(--ease),opacity var(--dur) var(--ease)}.routine__step--done{background:#5ed69b38;opacity:.72}.routine__step--done span:last-child{text-decoration:line-through}.routine__check{width:2rem;height:2rem;flex-shrink:0;border-radius:50%;border:2px solid rgba(255,255,255,.5);display:grid;place-items:center;font-size:1.1rem}.routine__step--done .routine__check{background:#5ed69b;border-color:#5ed69b;color:#0b1712}.routine__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.routine__bg span{position:absolute;bottom:-6rem;left:calc(var(--i) * 11% + 3%);width:calc(1.5rem + var(--i) * .4rem);height:calc(1.5rem + var(--i) * .4rem);border-radius:50%;background:#ffffff12;animation:routine-float calc(11s + var(--i) * 1.7s) linear infinite;animation-delay:calc(var(--i) * -1.9s)}@keyframes routine-float{to{transform:translateY(-120vh);opacity:0}}.routine__bg--stars span{border-radius:0;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}@media(prefers-reduced-motion:reduce){.routine__bg{display:none}.routine__icon{animation:none}}.avatar-play{position:relative;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 30%,var(--bg-soft),var(--surface-sunken));box-shadow:inset 0 0 0 3px var(--ring, var(--line-strong));flex:none}.avatar-play>span{position:absolute;line-height:1;filter:drop-shadow(0 1px 2px rgba(22,35,61,.18))}.avatar-play__body{top:50%;left:50%;transform:translate(-50%,-46%)}.avatar-play__head{top:6%;left:50%;transform:translate(-50%)}.avatar-play__face{top:36%;left:50%;transform:translate(-50%)}.avatar-play__outfit{bottom:12%;left:50%;transform:translate(-50%)}.avatar-play__pet{bottom:2%;right:2%}.avatar-play__room{top:6%;left:6%;opacity:.75}.play-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--s-4)}.play-picker__item{display:grid;justify-items:center;gap:var(--s-2);padding:var(--s-5) var(--s-4);border:3px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.play-picker__item:active{transform:scale(.97)}.play-picker__name{font-size:var(--fs-h2);font-weight:700}.play-picker__meta{font-size:var(--fs-small);color:var(--text-muted)}.play-hero{display:flex;align-items:center;gap:var(--s-5);padding:var(--s-5);border-radius:var(--r-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--member) 18%,var(--surface)),var(--surface));box-shadow:var(--shadow-md)}.play-hero__facts{display:grid;gap:var(--s-2);justify-items:start}.play-hero__stars{font-size:var(--fs-h1);font-weight:700}.play-hero__streak{font-size:var(--fs-lead);color:var(--text-muted)}.play-chest{display:flex;align-items:center;gap:var(--s-4);width:100%;padding:var(--s-4) var(--s-5);border:none;border-radius:var(--r-lg);background:linear-gradient(120deg,var(--family),#f7d774);color:#3a2a05;text-align:left;box-shadow:var(--shadow-md);cursor:pointer;animation:play-chest-nudge 2.4s var(--ease) infinite}.play-chest__icon{font-size:2.75rem;line-height:1}.play-chest strong{display:block;font-size:var(--fs-lead)}.play-chest .caption{color:#6b5310}@keyframes play-chest-nudge{0%,88%,to{transform:none}92%{transform:rotate(-1.5deg) scale(1.01)}96%{transform:rotate(1.5deg) scale(1.01)}}.play-quests{list-style:none;display:grid;gap:var(--s-3)}.play-quests__item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-3)}.play-quests__star{font-size:var(--fs-h3)}.play-quests__text{display:grid;gap:var(--s-1)}.play-quests__item--done .play-quests__text>span:first-child{color:var(--success);font-weight:600}.play-quests__bar{display:block;height:.5rem;border-radius:var(--r-pill);background:var(--surface-sunken);overflow:hidden}.play-quests__bar>span{display:block;height:100%;border-radius:var(--r-pill);background:var(--family);transition:width var(--dur-slow) var(--ease)}.play-quests__item--done .play-quests__bar>span{background:var(--success)}.play-shelf{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--s-3)}.play-shelf__item{display:grid;justify-items:center;gap:var(--s-1);padding:var(--s-5) var(--s-3);border:2px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-align:center;cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.play-shelf__item:active{transform:scale(.97)}.play-shelf__item:disabled{opacity:.45;cursor:default}.play-shelf__icon{font-size:3rem;line-height:1}.play-shelf__title{font-weight:700;font-size:var(--fs-lead)}.play-skills{list-style:none;display:grid;gap:var(--s-2);margin-bottom:var(--s-3)}.play-skills__row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.play-skills__pips{display:inline-flex;gap:.25rem}.play-skills__pips>span{width:.75rem;height:.75rem;border-radius:50%;background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--line-strong)}.play-skills__pips>span.is-on{background:var(--success);box-shadow:none}.play-wardrobe__preview{display:grid;place-items:center;margin-bottom:var(--s-4)}.play-wardrobe__group{margin-bottom:var(--s-4)}.play-wardrobe__slot{font-size:var(--fs-small);color:var(--text-muted);margin-bottom:var(--s-2)}.play-wardrobe__items{display:flex;flex-wrap:wrap;gap:var(--s-2)}.play-wardrobe__item{width:3.5rem;height:3.5rem;font-size:1.75rem;border:2px solid var(--line);border-radius:var(--r-md);background:var(--surface);cursor:pointer}.play-wardrobe__item.is-on{border-color:var(--accent);background:var(--accent-soft)}.play-chest-result{display:grid;place-items:center}.play-chest-result__box{display:grid;justify-items:center;gap:var(--s-3);padding:var(--s-6);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-lg);text-align:center;animation:play-pop var(--dur-slow) var(--ease)}.play-chest-result__emoji{font-size:5rem;line-height:1}@keyframes play-pop{0%{transform:scale(.7);opacity:0}}.play-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:flex;flex-direction:column;background:radial-gradient(120% 80% at 50% 0%,#1d4d3a,#123528 55%,#0b1f17);color:#fff;overscroll-behavior:none;touch-action:manipulation}.play-shell--message,.play-shell--result{display:grid;place-items:center;gap:var(--s-4);padding:var(--s-5)}.play-shell__bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-4) var(--s-2)}.play-shell__exit{width:3rem;height:3rem;font-size:1.25rem;border:none;border-radius:50%;background:#ffffff24;color:#fff;cursor:pointer}.play-shell__dots{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center}.play-shell__dot{width:.55rem;height:.55rem;border-radius:50%;background:#ffffff38;transition:background var(--dur) var(--ease)}.play-shell__dot--done{background:#ffd76e}.play-shell__level{font-size:var(--fs-small);color:#ffffffb3;text-align:right}.play-shell__finishing{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0b1f17bf}.jungle{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.jungle__prompt{display:flex;align-items:baseline;justify-content:center;gap:var(--s-3);padding:var(--s-4) var(--s-4) var(--s-2)}.jungle__question{font-size:clamp(3rem,11vw,6rem);font-weight:700;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.35)}.jungle__equals{font-size:clamp(1.5rem,5vw,3rem);color:#ffffffa6}.jungle__canvas{flex:1;width:100%;min-height:0;display:block;touch-action:none}.jungle__combo{position:absolute;left:50%;bottom:var(--s-5);transform:translate(-50%);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:#ffd76eeb;color:#3a2a05;font-weight:700;font-size:var(--fs-lead);animation:play-pop var(--dur) var(--ease)}.jungle--right:after,.jungle--wrong:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:play-flash .32s var(--ease)}.jungle--right:after{background:radial-gradient(circle at 50% 60%,rgba(120,255,190,.25),transparent 60%)}.jungle--wrong:after{background:radial-gradient(circle at 50% 60%,rgba(255,255,255,.12),transparent 60%)}@keyframes play-flash{0%{opacity:1}to{opacity:0}}.play-result{display:grid;justify-items:center;gap:var(--s-3);max-width:28rem;text-align:center}.play-result__icon{font-size:5.5rem;line-height:1;animation:play-pop var(--dur-slow) var(--ease)}.play-result__title{font-size:var(--fs-h1)}.play-result__game{color:#ffffffb3}.play-result__combo{font-size:var(--fs-lead)}.play-result__stars{font-size:var(--fs-h3)}.play-result__levelup,.play-result__chest{font-size:var(--fs-lead);color:#ffd76e}.play-result__button{margin-top:var(--s-4);min-width:12rem}.play-card{display:grid;gap:var(--s-3)}.play-card__child{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2);border:none;border-radius:var(--r-md);background:none;color:inherit;text-align:left;cursor:pointer}.play-card__child:active{background:var(--surface-sunken)}.play-card__name{font-weight:600}.play-card__meta{display:block;font-size:var(--fs-small);color:var(--text-muted)}.play-card__stars{margin-left:auto;font-size:var(--fs-lead);letter-spacing:.1em}@media(prefers-reduced-motion:reduce){.play-chest,.play-result__icon,.play-chest-result__box,.jungle__combo{animation:none}}.sound-hunt{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-6);padding:var(--s-5);position:relative}.sound-hunt__stage{display:grid;place-items:center;gap:var(--s-3);position:relative}.sound-hunt__picture{font-size:clamp(6rem,28vw,12rem);line-height:1;filter:drop-shadow(0 6px 16px rgba(0,0,0,.35))}.sound-hunt__word{font-size:clamp(2rem,8vw,3.5rem);font-weight:700;letter-spacing:.06em}.sound-hunt__replay{position:absolute;top:-.5rem;right:-3.5rem;width:3.5rem;height:3.5rem;font-size:1.5rem;border:none;border-radius:50%;background:#ffffff24;color:#fff;cursor:pointer}.sound-hunt__replay:disabled{opacity:.35;cursor:default}.sound-hunt__letters{display:flex;gap:var(--s-4);flex-wrap:wrap;justify-content:center}.sound-hunt__letter{width:6.5rem;height:6.5rem;font-size:3rem;font-weight:700;border:none;border-radius:var(--r-lg);background:#ffffff24;color:#fff;cursor:pointer;transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.sound-hunt__letter:active{transform:scale(.94)}.sound-hunt__letter--right{background:#6ee6a0;color:#0b2a17;animation:play-pop var(--dur) var(--ease)}.sound-hunt__letter--wrong{background:#ffffff47;animation:sound-hunt-shake .32s var(--ease)}@keyframes sound-hunt-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.sound-hunt__combo{position:absolute;bottom:var(--s-5);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:#ffd76eeb;color:#3a2a05;font-weight:700;font-size:var(--fs-lead);animation:play-pop var(--dur) var(--ease)}@media(prefers-reduced-motion:reduce){.sound-hunt__letter--right,.sound-hunt__letter--wrong,.sound-hunt__combo{animation:none}}.letter-hunt{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-5);position:relative}.letter-hunt__stage{display:grid;place-items:center;gap:var(--s-2);position:relative;padding-top:var(--s-3)}.letter-hunt__picture{font-size:clamp(4.5rem,20vw,8rem);line-height:1;filter:drop-shadow(0 6px 16px rgba(0,0,0,.35))}.letter-hunt__hint{font-size:clamp(1.25rem,5vw,2rem);font-weight:700;letter-spacing:.08em;color:#ffffff8c}.letter-hunt__replay{position:absolute;top:-.25rem;right:-3rem;width:3.25rem;height:3.25rem;font-size:1.35rem;border:none;border-radius:50%;background:#ffffff24;color:#fff;cursor:pointer}.letter-hunt__replay:disabled{opacity:.35;cursor:default}.letter-hunt__progress{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.letter-hunt__slot{width:2.6rem;height:2.6rem;display:grid;place-items:center;font-size:1.5rem;font-weight:700;border-radius:var(--r-sm);border-bottom:3px solid rgba(255,255,255,.35);color:#fff}.letter-hunt__slot.is-filled{background:#6ee6a038;border-bottom-color:#6ee6a0}.letter-hunt__field{flex:1;width:100%;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:var(--s-3);padding:var(--s-4) 0}.letter-hunt__tile{width:4.5rem;height:4.5rem;font-size:2.1rem;font-weight:700;border:none;border-radius:var(--r-lg);background:#ffffff24;color:#fff;cursor:pointer;animation:letter-hunt-drift 3.6s ease-in-out infinite;animation-delay:calc(var(--drift, 0) * -36ms)}.letter-hunt__tile:active{transform:scale(.94)}.letter-hunt__tile--gone{visibility:hidden;animation:none}.letter-hunt__tile--wrong{animation:sound-hunt-shake .32s var(--ease);background:#ffffff47}@keyframes letter-hunt-drift{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-.5rem) rotate(-2deg)}}.letter-hunt__combo{padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:#ffd76eeb;color:#3a2a05;font-weight:700;font-size:var(--fs-lead);animation:play-pop var(--dur) var(--ease)}@media(prefers-reduced-motion:reduce){.letter-hunt__tile,.letter-hunt__tile--wrong,.letter-hunt__combo{animation:none}}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}:root{font-size:16px;--bg: #14171c;--bg-soft: #191d24;--surface: rgba(255, 255, 255, .07);--surface-sunken: rgba(255, 255, 255, .045);--header: #14171c;--header-soft: #1c222b;--glass-bg: rgba(30, 34, 41, .66);--glass-bg-strong: rgba(34, 38, 46, .78);--glass-border: rgba(255, 255, 255, .16);--glass-border-top: rgba(255, 255, 255, .38);--glass-blur: blur(10px);--text: #f2ede3;--text-muted: #9aa1ad;--text-faint: #6b7280;--on-header: #f2ede3;--on-header-muted: #9aa1ad;--accent: #e8a33d;--accent-soft: rgba(232, 163, 61, .16);--family: #e8a33d;--family-soft: rgba(232, 163, 61, .16);--danger: #e5484d;--danger-soft: rgba(229, 72, 77, .16);--success: #4fbf73;--success-soft: rgba(79, 191, 115, .16);--warning: #d9822e;--warning-soft: rgba(217, 130, 46, .16);--info: #4fc3d9;--info-soft: rgba(79, 195, 217, .16);--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .22);--r-sm: .5rem;--r-md: .875rem;--r-lg: 1.25rem;--r-xl: 1.75rem;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 10px 24px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .06);--shadow-lg: 0 24px 56px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .08);--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--font: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;--font-condensed: "Barlow Condensed", var(--font);--fs-caption: .75rem;--fs-small: .875rem;--fs-body: 1rem;--fs-lead: 1.125rem;--fs-h3: 1.375rem;--fs-h2: 1.75rem;--fs-h1: 2.25rem;--fs-display: 4.5rem;--touch: 2.5rem;--nav-height: 4.75rem;--content-max: 46rem;--ease: cubic-bezier(.22, .61, .36, 1);--dur-fast: .14s;--dur: .24s;--dur-slow: .42s}@media(min-width:768px){:root{font-size:20px;--touch: 2.8rem}}@media(min-width:1000px){:root{font-size:25px;--touch: 2.5rem;--nav-height: 5.25rem;--content-max: none}}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font);font-size:var(--fs-body);line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}#root{min-height:100%;min-height:100dvh}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.015em;line-height:1.2}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.app{display:flex;flex-direction:column;min-height:100dvh;background:var(--bg);position:relative;isolation:isolate}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse 60% 40% at 15% 0%,rgba(232,163,61,.14),transparent 60%),radial-gradient(ellipse 55% 45% at 100% 20%,rgba(79,195,217,.08),transparent 55%);pointer-events:none}.app__main{flex:1;padding:var(--s-4);padding-bottom:calc(var(--nav-height) + var(--s-5) + env(safe-area-inset-bottom,0px));max-width:var(--content-max);width:100%;margin:0 auto}.topbar{background:linear-gradient(165deg,var(--header) 0%,var(--header-soft) 100%);color:var(--on-header);padding:calc(var(--s-5) + env(safe-area-inset-top,0px)) var(--s-5) var(--s-5);border-radius:0 0 var(--r-xl) var(--r-xl);border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.topbar__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4)}.clock{font-family:var(--font-mono);font-size:var(--fs-display);font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.clock__seconds{font-size:.4em;opacity:.5;margin-left:.15em;font-weight:500;color:var(--accent)}.topbar__date{margin-top:var(--s-2);color:var(--on-header-muted);font-size:var(--fs-lead);font-family:var(--font-condensed);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-top-color:var(--glass-border-top);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:var(--s-4)}.card--flush{padding:0;overflow:hidden}.card--raised{background:var(--glass-bg-strong);box-shadow:var(--shadow-lg)}.card__title{font-family:var(--font-condensed);font-size:var(--fs-small);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin-bottom:var(--s-3)}.stack{display:flex;flex-direction:column;gap:var(--s-4)}.stack--tight{gap:var(--s-2)}.stack--loose{gap:var(--s-5)}.row{display:flex;align-items:center;gap:var(--s-3)}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--touch);min-width:var(--touch);padding:0 var(--s-4);border-radius:var(--r-md);font-weight:600;font-size:var(--fs-body);background:var(--surface);color:var(--text);border:1px solid var(--glass-border);transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.btn:active{transform:scale(.97)}.btn--primary{background:var(--accent);color:#201404;border-color:var(--accent);font-weight:700}.btn--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn--ghost{background:transparent;border-color:transparent}.btn--block{width:100%}.btn--lg{min-height:calc(var(--touch) * 1.4);font-size:var(--fs-lead);padding:0 var(--s-6)}.btn:disabled{opacity:.45;cursor:default}.filters{display:flex;gap:var(--s-2);overflow-x:auto;padding:var(--s-1) 0;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--touch);padding:0 var(--s-4) 0 var(--s-2);border-radius:var(--r-pill);background:var(--glass-bg);box-shadow:var(--shadow-sm);font-weight:600;white-space:nowrap;color:var(--text-muted);border:2px solid transparent;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.filter--bare{padding-left:var(--s-4)}.filter[aria-pressed=true]{color:var(--text);border-color:var(--filter-color, var(--accent))}.avatar{width:2rem;height:2rem;border-radius:50%;object-fit:cover;background:var(--surface-sunken);display:grid;place-items:center;font-weight:700;font-size:.8em;color:#fff;flex-shrink:0;border:2px solid var(--avatar-ring, transparent)}.avatar--lg{width:3.5rem;height:3.5rem;font-size:1.1em}.avatar--xl{width:5rem;height:5rem;font-size:1.5em}.avatar-stack{display:flex}.avatar-stack .avatar+.avatar{margin-left:-.6rem}.member-chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3) var(--s-1) var(--s-1);border-radius:var(--r-pill);background:var(--chip-bg, var(--surface-sunken));color:var(--chip-fg, var(--text));font-size:var(--fs-small);font-weight:600}.event{display:flex;gap:var(--s-3);padding:var(--s-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);width:100%;text-align:left;align-items:flex-start;border-left:4px solid var(--event-color, var(--line-strong))}.event__time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;min-width:4.2em;color:var(--text)}.event__time small{display:block;font-weight:500;color:var(--text-faint)}.event__body{flex:1;min-width:0}.event__title{font-size:var(--fs-lead);font-weight:650;margin-bottom:var(--s-1)}.event__meta{color:var(--text-muted);font-size:var(--fs-small);display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3)}.event--next{background:var(--glass-bg-strong);box-shadow:var(--shadow-lg);border-radius:var(--r-lg);border-left-color:var(--accent);padding:var(--s-5)}.event--past{opacity:.5}.tag{display:inline-flex;align-items:center;gap:var(--s-1);padding:.15em .6em;border-radius:var(--r-pill);font-size:var(--fs-caption);font-weight:650;background:var(--surface-sunken);color:var(--text-muted)}.tag--warning{background:var(--warning-soft);color:var(--warning)}.tag--danger{background:var(--danger-soft);color:var(--danger)}.tag--success{background:var(--success-soft);color:var(--success)}.tag--family{background:var(--family-soft);color:var(--family)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);background:#12151af0;border-top:1px solid var(--glass-border);padding-bottom:env(safe-area-inset-bottom,0px)}.nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:var(--nav-height);color:var(--text-faint);font-size:var(--fs-caption);font-weight:600;text-decoration:none;transition:color var(--dur-fast) var(--ease)}.nav__item[aria-current=page]{color:var(--accent)}.nav__icon{font-size:1.5rem;line-height:1;display:grid;place-items:center}.nav__icon svg{width:1.4rem;height:1.4rem}.nav__item--action .nav__icon{background:var(--accent);color:#201404;width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;box-shadow:var(--shadow-md)}.empty{text-align:center;padding:var(--s-6) var(--s-4);color:var(--text-muted)}.empty__icon{font-size:2.5rem;margin-bottom:var(--s-2);opacity:.7}.empty__title{font-weight:650;color:var(--text);margin-bottom:var(--s-1)}.notice{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-small);background:var(--surface-sunken);color:var(--text-muted);border:1px solid var(--glass-border)}.notice--warning{background:var(--warning-soft);color:var(--warning);border-color:transparent}.notice--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.notice--info{background:var(--info-soft);color:var(--info);border-color:transparent}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field__label{font-size:var(--fs-small);font-weight:650;color:var(--text-muted)}.input,.select,.textarea{width:100%;min-height:var(--touch);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);border:2px solid var(--line);background:var(--surface);color:var(--text);transition:border-color var(--dur-fast) var(--ease)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none}.input--invalid{border-color:var(--danger)}.textarea{min-height:5rem;resize:vertical}.field__error{font-size:var(--fs-small);color:var(--danger);font-weight:600}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;animation:fade var(--dur) var(--ease)}.sheet{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-bottom:none;width:100%;max-width:var(--content-max);max-height:92dvh;overflow-y:auto;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--s-5);padding-bottom:calc(var(--s-6) + env(safe-area-inset-bottom,0px));animation:rise var(--dur-slow) var(--ease)}.sheet__handle{width:2.5rem;height:.25rem;border-radius:var(--r-pill);background:var(--line-strong);margin:0 auto var(--s-4)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(4%);opacity:0}}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:var(--fs-small)}.caption{font-size:var(--fs-caption)}.bold{font-weight:650}.tabular{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{font-family:var(--font-condensed);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:var(--fs-caption);color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-3)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3)}.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:var(--s-3)}
