.tp{min-height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;padding-top:14px;padding-bottom:calc(env(safe-area-inset-bottom) + 20px)}.tp-top{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:44px}.tp-back{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;margin-left:-10px}.tp-back svg{width:24px;height:24px}.tp-steps{display:flex;gap:6px;justify-content:center}.tp-steps i{width:22px;height:5px;border-radius:3px;background:var(--line);transition:background-color .3s}.tp-steps i.on{background:var(--ink)}.tp-step{flex:1 1;display:flex;flex-direction:column;padding-top:14px;animation:rise .5s var(--spring) both}.tp-step h1{margin:12px 0 8px;font:800 30px/1.08 var(--display);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}.tp-brand{display:flex;align-items:center;gap:10px;font:800 24px/1 var(--display)}.tp-sub{font-size:var(--fs-card)}.tp-lbl,.tp-sub{color:var(--muted)}.tp-lbl{display:block;margin:22px 0 8px;font:700 var(--fs-meta)/1.2 var(--body)}.tp-field{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 16px;background:var(--card);border:1.5px solid var(--line);border-radius:18px;transition:border-color .2s}.tp-field:focus-within{border-color:var(--ink)}.tp-field input:focus-visible,.tp-field select:focus-visible{outline:none}.tp-field input,.tp-field select{font:600 19px/1.2 var(--body);color:var(--ink);background:transparent;border:0;outline:0;min-width:0;height:52px}.tp-field input{flex:1 1;width:100%}.tp-code::placeholder,.tp-field input::placeholder{color:var(--track);font-weight:500}.tp-field select{flex:none;padding-right:10px;border-right:1.5px solid var(--line);border-radius:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.tp-tick{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:var(--fs-body);cursor:pointer}.tp-tick input{flex:none;width:26px;height:26px;margin:0;accent-color:var(--switch-on)}.tp-foot{margin-top:auto;padding-top:24px;display:grid;grid-gap:10px;gap:10px}.tp .btn.tp-go{background:var(--spark-fill);color:var(--on-color);min-height:56px;font-size:18px}.tp-note{text-align:center;color:var(--muted);font-size:var(--fs-label);text-wrap:balance}.tp-link{display:block;width:100%;min-height:44px;line-height:44px;text-align:center;font-weight:700;text-decoration:underline;-webkit-text-decoration-color:var(--spark);text-decoration-color:var(--spark);text-underline-offset:4px}.tp-link.tp-remove{font-weight:600;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.tp-hint,.tp-link.tp-remove{color:var(--muted);font-size:var(--fs-meta)}.tp-hint{margin-top:8px}.tp-code,.tp-hint.center{text-align:center}.tp-code{box-sizing:border-box;width:100%;height:72px;margin-top:26px;padding:0 0 0 .35em;border-radius:20px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:800 34px/1 var(--display);letter-spacing:.35em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;outline:0}.tp-code:focus{border-color:var(--ink)}.tp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.tp-opt{display:flex;gap:14px;align-items:center;width:100%;margin-top:10px;padding:14px 16px;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:24px;transition:border-color .2s,background-color .2s,transform .3s var(--spring)}.tp-lbl+.tp-opt{margin-top:0}.tp-opt:active{transform:scale(.98)}.tp-opt.on{border-color:var(--spark);background:color-mix(in srgb,var(--spark) 7%,var(--card))}.tp-opt-pic{width:52px;height:52px;flex:none}.tp-opt b{display:block;font:800 19px/1.2 var(--display)}.tp-opt span span{color:var(--muted);font-size:14.5px}.tp-colors{display:flex;gap:12px}.tp-colors button{width:44px;height:44px;border-radius:50%;border:4px solid var(--paper);transition:box-shadow .2s}.tp-colors button.on{box-shadow:0 0 0 2.5px var(--ink)}.tp-jobs{list-style:none;margin:16px 0 0;padding:0;background:var(--card);border-radius:24px;overflow:hidden}.tp-jobs li{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 16px}.tp-jobs li+li{border-top:1px solid var(--line)}.tp-jobs .t{flex:1 1;min-width:0}.tp-job-pic{width:40px;height:40px;flex:none}.tp-jobs.plain li{min-height:48px}.tp-jobs.tight{margin-top:0;background:var(--paper);border-radius:18px}.tp-jobs.tight li{min-height:56px;padding:6px 12px}.tp-money{margin-top:12px}.tp-money input{flex:none;width:64px;text-align:right}.tp-money span{color:var(--muted);font-weight:600}.tp-qr-box{box-sizing:border-box;width:min(280px,72vw);margin:18px auto 0;padding:12px;background:#fff;border-radius:24px;border:1.5px solid var(--line)}.tp-qr{display:block;width:100%;height:auto}.tp-today{gap:var(--gap)}.tp-hdr{display:flex;align-items:flex-start;justify-content:space-between;padding-top:8px}.tp-hdr h1{margin:6px 0 0;font:800 var(--fs-display)/1.02 var(--display);letter-spacing:-.02em}.tp-kids{display:flex;flex-wrap:wrap;gap:8px}.tp-kid{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;background:var(--card);border-radius:999px;font-weight:700}.tp-kid i{width:28px;height:28px;border-radius:50%}.tp-card{display:grid;grid-gap:10px;gap:10px;padding:16px;background:var(--card);border-radius:var(--radius);animation:rise .5s var(--spring) both}.tp-card .tp-hint{margin-top:0}.tp-card .tp-qr-box{margin-top:4px}.tp-who{display:flex;align-items:center;gap:8px;font:700 var(--fs-card)/1.2 var(--body)}.tp-who i{width:14px;height:14px;border-radius:50%}.tp-starsrow{display:flex;justify-content:space-between;align-items:center;gap:10px}.tp-stars{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:4px}.tp-stars svg{width:26px;height:26px}.tp-friend{width:72px;height:84px;flex:none}.tp-mini{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;background:var(--done-soft);color:var(--done-ink);font-weight:700;font-size:var(--fs-meta)}.tp-mini svg{width:18px;height:18px}.tp-mini.danger{background:var(--spark-soft);color:var(--spark-ink)}.tp-weekrow{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.tp-pct{font:800 28px/1 var(--display)}.tp-bar{position:relative;height:12px;margin:4px 0;border-radius:6px;background:var(--line)}.tp-bar b{display:block;width:72%;height:100%;border-radius:6px;background:var(--kid)}.tp-bar em{position:absolute;left:80%;top:-5px;width:3px;height:22px;border-radius:2px;background:var(--ink)}.sg{--kid:var(--margot);--pad:clamp(14px,2.2vw,28px);position:relative;box-sizing:border-box;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,27vw,360px);grid-gap:clamp(14px,2vw,26px);gap:clamp(14px,2vw,26px);padding:var(--pad) max(var(--pad),env(safe-area-inset-right)) calc(var(--pad) + 44px) max(var(--pad),env(safe-area-inset-left));-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.sg-jobs{display:grid;grid-gap:clamp(12px,1.8vw,22px);gap:clamp(12px,1.8vw,22px);align-content:start}.sg-group{display:grid;grid-gap:clamp(8px,1.2vw,14px);gap:clamp(8px,1.2vw,14px)}.sg-when{display:flex;align-items:center;gap:10px;margin:0;font:800 clamp(20px,2.4vw,28px)/1 var(--display)}.sg-when svg{width:1.5em;height:1.5em;flex:none}.sg-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:clamp(10px,1.6vw,20px);gap:clamp(10px,1.6vw,20px)}.sg-tile{position:relative;aspect-ratio:10/9;display:grid;place-items:center;background:var(--card);border-radius:clamp(20px,3vw,34px);box-shadow:0 3px 0 var(--line);transition:transform .25s var(--spring),background-color .3s}.sg-tile:active{transform:scale(.95)}.sg-tile.done{background:var(--done-soft);box-shadow:none}.sg-tile.done .sg-pic{opacity:.5}.sg-pic{width:58%;height:78%}.sg-badge{position:absolute;right:6%;top:6%;width:26%;animation:sg-pop .5s var(--spring) both}.sg-none{color:var(--muted);font-size:var(--fs-card)}.sg-side{position:-webkit-sticky;position:sticky;top:var(--pad);align-self:start;box-sizing:border-box;height:calc(100dvh - 2 * var(--pad) - 44px);flex-direction:column;gap:10px;padding:clamp(12px,2vw,22px);border-radius:clamp(24px,3vw,36px);background:linear-gradient(color-mix(in srgb,var(--kid) 24%,var(--card)),var(--card) 78%)}.sg-side,.sg-total{display:flex;align-items:center}.sg-total{gap:8px;font:800 clamp(34px,4.4vw,52px)/1 var(--display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sg-total-star{width:1em;height:1em}.sg-num{display:inline-block;animation:sg-pop .5s var(--spring) both}.sg-friend{flex:1 1;min-height:0;width:100%}.sg-friend-art{display:block;width:100%;height:100%;transform-origin:50% 94%}.sg-friend-art.sway{animation:sg-sway 4.5s ease-in-out infinite}.sg-friend-art.pop{animation:sg-grow .9s var(--spring) both}.sg-friend-art.dance{animation:sg-dance .5s ease-in-out 5}.sg-dots{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.sg-dots i{width:clamp(16px,2vw,24px);aspect-ratio:1;border-radius:50%;background:var(--card);border:2px solid var(--line)}.sg-dots i.on{background:var(--sun);border-color:#C28A00}.sg-bar{width:80%;height:16px;border-radius:8px;background:var(--card);border:2px solid var(--line);overflow:hidden}.sg-bar i{display:block;height:100%;border-radius:8px;background:var(--sun)}.sg-grown{font:800 var(--fs-card)/1 var(--display);color:var(--done-ink)}.sg-garden{display:flex;gap:2px}.sg-mini{width:32px;height:38px}.sg-name{font:700 var(--fs-meta)/1 var(--body);color:var(--muted)}.sg-focus{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4vmin;padding:20px;background:color-mix(in srgb,var(--paper) 96%,transparent);animation:sg-fade .2s both}.sg-focus-pic{width:min(46vmin,360px);aspect-ratio:1;display:grid;place-items:center;background:var(--card);border-radius:12%;animation:sg-pop .45s var(--spring) both}.sg-focus-pic svg{width:72%;height:72%}.sg-focus-name{font:700 var(--fs-card)/1.2 var(--body);color:var(--muted)}.sg-star{width:min(30vmin,220px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;animation:sg-pulse 1.1s ease-in-out infinite}.sg-fly svg,.sg-star svg{display:block;width:100%;height:100%}.sg-fly{z-index:40}.sg-fly,.sg-party{position:fixed;pointer-events:none}.sg-party{inset:0;z-index:35;overflow:hidden}.sg-party i{position:absolute;left:50%;top:46%;width:clamp(28px,6vmin,56px);height:clamp(28px,6vmin,56px);margin:calc(clamp(28px, 6vmin, 56px) / -2);animation:sg-burst 1.3s var(--ease-out) var(--d) both}.sg-party i svg{display:block;width:100%;height:100%}.sg-party.all i,.sg-party.full i{animation-duration:2s}.sg-lock{position:fixed;left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));z-index:20;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--track);overflow:hidden}.sg-lock svg{position:relative;width:20px;height:20px}.sg-lock:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ink);opacity:.16;transform:scale(0)}.sg-lock.holding:before{transform:scale(1);transition:transform 3s linear}.sg-parent{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,#17151F 45%,transparent);-webkit-user-select:text;-moz-user-select:text;user-select:text;animation:sg-fade .2s both}.sg-parent-card{box-sizing:border-box;width:min(420px,100%);max-height:100%;overflow:auto;display:grid;grid-gap:10px;gap:10px;padding:20px;background:var(--card);border-radius:var(--radius)}.sg-parent-card h2{margin:0;font:800 var(--fs-title)/1.1 var(--display)}.sg-facts{text-align:center}@keyframes sg-sway{0%,to{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}@keyframes sg-grow{0%{transform:scale(.72)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes sg-dance{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6%) rotate(-5deg)}75%{transform:translateY(-6%) rotate(5deg)}}@keyframes sg-pop{0%{transform:scale(.3)}70%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes sg-pulse{0%,to{transform:scale(1) rotate(-5deg)}50%{transform:scale(1.1) rotate(5deg)}}@keyframes sg-fade{0%{opacity:0}}@keyframes sg-burst{0%{transform:rotate(var(--a)) translateY(0) scale(.2);opacity:0}15%{opacity:1}to{transform:rotate(var(--a)) translateY(-48vmin) scale(1);opacity:0}}@media (max-width:620px),(orientation:portrait){.sg{grid-template-columns:minmax(0,1fr)}.sg-side{order:-1;position:static;height:auto;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"friend total" "friend step" "friend name";justify-items:start;align-items:center;grid-column-gap:16px;column-gap:16px;grid-row-gap:6px;row-gap:6px}.sg-friend{grid-area:friend;width:clamp(96px,30vw,180px);height:clamp(112px,35vw,210px)}.sg-total{grid-area:total;align-self:end}.sg-bar,.sg-dots,.sg-grown{grid-area:step;justify-content:flex-start}.sg-bar{width:100%}.sg-name{grid-area:name;align-self:start}.sg-garden{grid-area:name;justify-self:end}.sg-tile{aspect-ratio:1}}@media (prefers-reduced-motion:reduce){.sg-badge,.sg-friend-art,.sg-num,.sg-party i,.sg-star{animation:none!important}}