@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg: #F7F7F7;--bg2: #EBEBEB;--card: #FFFFFF;--card2: #FAFAFA;--label: #222222;--label2: #717171;--label3: #B0B0B0;--label4: #D4D4D4;--sep: rgba(0,0,0,.08);--sep-opaque: #DDDDDD;--primary: #FF385C;--primary-dk: #E31C5F;--primary-fill: rgba(255,56,92,.1);--blue: #0080FF;--green: #008A05;--orange: #C47100;--red: #C13515;--blue-fill: rgba(0,128,255,.1);--green-fill: rgba(0,138,5,.1);--orange-fill: rgba(196,113,0,.1);--font: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--r-2xl: 24px;--r-pill: 999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.06);--shadow-sm: 0 2px 8px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.04);--shadow-md: 0 6px 20px rgba(0,0,0,.12), 0 0 0 1px rgba(0,0,0,.04);--shadow-lg: 0 16px 40px rgba(0,0,0,.14), 0 0 0 1px rgba(0,0,0,.04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--label);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:1.9rem;font-weight:800;letter-spacing:-.5px}h2{font-size:1rem;font-weight:600;color:var(--label)}h3{font-size:1rem;font-weight:600}h4{font-size:.9rem;font-weight:600}p{color:var(--label2)}button{font-family:var(--font);font-size:.95rem;font-weight:600;cursor:pointer;border:none;background:var(--card);color:var(--label);padding:.55rem 1.1rem;border-radius:var(--r-md);transition:opacity .15s,transform .12s,background .15s}button:active{transform:scale(.97);opacity:.85}button:disabled{opacity:.38;cursor:not-allowed}button.primary{background:linear-gradient(135deg,var(--primary),var(--primary-dk));color:#fff;font-weight:700;border-radius:var(--r-pill);padding:.7rem 1.5rem;box-shadow:0 4px 14px #ff385c59}button.primary:hover{box-shadow:0 6px 20px #ff385c73}button.primary:active{opacity:.9}button.danger{color:var(--red);background:#c1351514}button.small{padding:.3rem .75rem;font-size:.82rem}.kid-app{min-height:100vh;padding-bottom:6rem}.back-home{display:inline-flex;align-items:center;gap:.3rem;color:var(--label);text-decoration:none;font-size:.88rem;font-weight:600;padding:.9rem 1.2rem 0;letter-spacing:-.1px}.back-home:hover{color:var(--primary)}.kid-main{max-width:640px;margin:0 auto;padding:.75rem 1.1rem 2rem}.status{text-align:center;color:var(--label3);padding:2.5rem 0;font-size:.95rem}.status.error{color:var(--red)}.status.info{color:var(--blue)}.empty{text-align:center;color:var(--label3);font-size:.95rem;padding:2.5rem 1rem;background:var(--card);border-radius:var(--r-xl);border:1px solid var(--sep-opaque)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:1rem}.muted{color:var(--label2)}.muted.small{font-size:.82rem}.center{text-align:center}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--label3)}.eyebrow.accent{color:var(--primary)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--sep-opaque);display:flex;justify-content:space-around;padding:.6rem 0 calc(.6rem + env(safe-area-inset-bottom,0px));z-index:50}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-decoration:none;color:var(--label3);font-size:.64rem;font-weight:600;letter-spacing:.02em;padding:.2rem 1rem;border-radius:var(--r-md);transition:color .15s}.nav-item .nav-icon{font-size:1.4rem;line-height:1}.nav-item.active{color:var(--primary)}.discover-head{background:var(--card);border-radius:var(--r-xl);padding:1.1rem 1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:1rem;border:1px solid var(--sep-opaque)}.kid-avatar{width:52px;height:52px;border-radius:var(--r-pill);overflow:hidden;background:var(--primary-fill);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.3rem;color:var(--primary);flex-shrink:0}.kid-avatar img{width:100%;height:100%;object-fit:cover}.discover-head .eyebrow{margin-bottom:.1rem}.discover-head h1{font-size:1.45rem;margin:0}.magic-btn{width:100%;background:var(--card);border:1px solid var(--sep-opaque);padding:.95rem 1.25rem;border-radius:var(--r-xl);font-weight:700;font-size:.95rem;color:var(--label);display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem;transition:box-shadow .15s,transform .12s}.magic-btn:hover{box-shadow:var(--shadow-md)}.magic-btn:active{transform:scale(.98)}.spin{animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:100}.sheet{background:var(--card);width:100%;max-width:540px;border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding:1.1rem 1.5rem 2.5rem;box-shadow:0 -12px 40px #0000002e;max-height:88vh;overflow-y:auto}.sheet-handle{width:40px;height:4px;background:var(--sep-opaque);border-radius:var(--r-pill);margin:0 auto 1.2rem}.sheet h3{font-size:1.1rem;font-weight:800;text-align:center;margin-bottom:1.25rem;letter-spacing:-.2px}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--label2);padding:0 .15rem}.field input,.field textarea,.field select{font-family:var(--font);font-size:.95rem;padding:.75rem 1rem;border:1.5px solid var(--sep-opaque);border-radius:var(--r-lg);background:var(--card);color:var(--label);outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-fill)}.sheet-actions{display:flex;gap:.75rem;margin-top:1.25rem}.sheet-actions button{flex:1;padding:.8rem;font-size:.95rem;border-radius:var(--r-lg)}.sheet-actions button:not(.primary){background:var(--bg);color:var(--label2);border:1px solid var(--sep-opaque)}.growth-kid-header{background:var(--card);border-radius:var(--r-xl);padding:1.2rem 1.1rem 1rem;margin-bottom:1rem;border:1px solid var(--sep-opaque)}.growth-kid-header .eyebrow{margin-bottom:.2rem}.growth-kid-header h1{font-size:1.5rem;font-weight:800;margin:0 0 .5rem;letter-spacing:-.4px}.domain-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem}.domain-card{background:var(--card);border-radius:var(--r-xl);padding:0;border:1px solid var(--sep-opaque);display:flex;flex-direction:column;overflow:hidden;position:relative;box-shadow:var(--shadow-xs);transition:box-shadow .15s,transform .15s}.domain-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.domain-card-accent{height:4px;background:var(--dc, var(--label));width:100%;flex-shrink:0}.domain-card-top{display:flex;align-items:center;justify-content:space-between;padding:.9rem .9rem .4rem}.domain-card-icon-wrap{width:40px;height:40px;border-radius:var(--r-lg);background:var(--dc-bg, var(--bg));color:var(--dc, var(--label));display:flex;align-items:center;justify-content:center}.domain-card-ring{position:relative;width:52px;height:52px;display:flex;align-items:center;justify-content:center}.domain-card-pct{position:absolute;font-size:.68rem;font-weight:800;color:var(--dc, var(--label))}.domain-card-name{font-size:.82rem;font-weight:700;color:var(--label);margin:0 0 .05rem;letter-spacing:-.1px;padding:0 .9rem}.domain-card-stat{font-size:.7rem;color:var(--label3);margin:0;padding:0 .9rem}.growth-context{background:var(--bg);border-radius:var(--r-lg);padding:.85rem;margin-bottom:.65rem;border:1px solid var(--sep-opaque)}.context-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}.context-head h3{font-size:.88rem;font-weight:700;color:var(--label);letter-spacing:-.1px}.milestone-list{display:flex;flex-direction:column;gap:.45rem}.milestone{position:relative;display:flex;align-items:flex-start;gap:.65rem;background:var(--card);border-radius:var(--r-md);padding:.65rem .7rem;border:1px solid var(--sep-opaque);transition:box-shadow .12s}.milestone:hover{box-shadow:var(--shadow-xs)}.milestone.done{background:#fafafa;border-color:#ebebeb}.milestone.overdue{border-color:#c4710059;background:#c4710008}.check{flex-shrink:0;width:1.4rem;height:1.4rem;border-radius:var(--r-pill);border:2px solid var(--sep-opaque);background:var(--card);padding:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;line-height:1;transition:background .15s,border-color .15s}.check.done{background:var(--green);border-color:var(--green)}.milestone-main{flex:1;min-width:0}.milestone-title{font-size:.88rem;font-weight:500;color:var(--label)}.milestone.done .milestone-title{color:var(--label3);text-decoration:line-through}.milestone-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.pill{font-size:.65rem;font-weight:700;padding:.1rem .5rem;border-radius:var(--r-pill);background:var(--bg2);color:var(--label3);letter-spacing:.02em}.pill.overdue{background:var(--orange-fill);color:var(--orange)}.pill.chased{background:var(--green-fill);color:var(--green)}.pill.ctx{background:var(--primary-fill);color:var(--primary)}.milestone-note{margin:.35rem 0 0;font-size:.78rem;font-style:italic;color:var(--label3)}.milestone-note-input{margin-top:.35rem;width:100%;font-family:var(--font);font-size:.78rem;padding:.35rem .5rem;border:1.5px solid var(--sep-opaque);border-radius:var(--r-sm);background:var(--bg);resize:vertical;color:var(--label)}.milestone-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;flex-shrink:0}.link-btn{border:none;background:none;padding:.1rem .35rem;font-size:.7rem;font-weight:700;border-radius:var(--r-sm);color:var(--label3)}.link-btn.extend{color:var(--blue)}.link-btn.note{color:var(--label3)}.link-btn.del{color:var(--red)}.add-inline{border:none;background:none;padding:.15rem .35rem;font-size:.78rem;font-weight:700;color:var(--primary);border-radius:var(--r-sm)}.add-inline-input{font-family:var(--font);font-size:.85rem;padding:.3rem .55rem;border:1.5px solid var(--primary);border-radius:var(--r-sm);background:var(--card);color:var(--label);outline:none}.growth-empty{font-size:.8rem;color:var(--label4);padding:.2rem .1rem}.view-toggle{display:inline-flex;background:var(--bg2);border-radius:var(--r-pill);padding:.2rem}.view-toggle button{border:none;background:none;border-radius:var(--r-pill);padding:.35rem .9rem;font-size:.8rem;font-weight:600;color:var(--label3)}.view-toggle button.active{background:var(--card);color:var(--label);box-shadow:var(--shadow-xs)}.week-nav{display:flex;align-items:center;gap:.3rem;font-size:.88rem}.week-nav button{border:none;background:none;padding:.2rem .45rem;color:var(--primary);font-size:1rem}.week-nav .range{min-width:7rem;text-align:center;font-weight:700;font-size:.85rem;color:var(--label)}.week-nav .this-week{color:var(--primary);font-weight:700;font-size:.82rem}.add-domain-row{text-align:center;padding:.5rem 0 1rem}.day-group{margin-bottom:1rem}.day-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.4rem;padding-bottom:.3rem;border-bottom:1px solid var(--sep-opaque)}.day-head .day-name{font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--label3)}.day-head .day-date{font-size:.78rem;color:var(--label4)}.day-group.today .day-head .day-name{color:var(--primary)}.day-group.overdue .day-head .day-name{color:var(--orange)}.burst{position:absolute;left:.6rem;top:.6rem;width:1.35rem;height:1.35rem;pointer-events:none;z-index:5}.burst .ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:2px solid var(--green);animation:growth-ring .65s ease-out forwards}.burst .dot{position:absolute;left:50%;top:50%;width:.4rem;height:.4rem;border-radius:999px;margin:-.2rem 0 0 -.2rem;animation:growth-burst .6s ease-out forwards}@keyframes growth-ring{0%{transform:scale(.3);opacity:.7}to{transform:scale(2.8);opacity:0}}@keyframes growth-burst{to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}.voice-mic{width:64px;height:64px;border-radius:var(--r-pill);border:none;background:linear-gradient(135deg,var(--primary),var(--primary-dk));color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #ff385c59}.voice-mic.listening{background:#c13515;animation:voice-pulse 1s infinite}.voice-mic:disabled{opacity:.35}@keyframes voice-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.voice-row{display:flex;align-items:center;gap:.85rem;margin:.75rem 0}.voice-status{color:var(--label3);font-size:.9rem}.voice-draft{background:var(--bg);border-radius:var(--r-lg);padding:.85rem;margin-top:.5rem;border:1px solid var(--sep-opaque)}.kid-switcher-row{display:flex;gap:.6rem;margin-bottom:.85rem}.kid-switcher-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:none;border:none;padding:0;cursor:pointer;opacity:.35;transition:opacity .15s}.kid-switcher-btn.active{opacity:1}.kid-switcher-name{font-size:.72rem;color:var(--label2);font-weight:600}.kid-avatar.sm{width:42px;height:42px;border-radius:999px;background:var(--primary-fill);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:var(--primary);overflow:hidden;border:2.5px solid transparent;transition:border-color .15s}.kid-switcher-btn.active .kid-avatar.sm{border-color:var(--primary)}.kid-avatar.sm img{width:100%;height:100%;object-fit:cover}.kid-switcher-info h1{font-size:1.5rem;font-weight:800;margin:0 0 .45rem;letter-spacing:-.4px}.kid-meta-pills{display:flex;gap:.4rem;flex-wrap:wrap}.kid-meta-pill{background:var(--bg);color:var(--label2);border-radius:var(--r-pill);padding:.22rem .7rem;font-size:.78rem;font-weight:600;border:1px solid var(--sep-opaque)}.domain-card{text-align:left;cursor:pointer}.domain-card:active{transform:scale(.97)}.domain-card-arrow{position:absolute;right:.65rem;bottom:.65rem;font-size:1rem;color:var(--label4)}.domain-detail-header{display:flex;align-items:center;gap:.65rem;margin-bottom:1.1rem;padding:0 .1rem}.domain-back-btn{background:var(--bg);border:1px solid var(--sep-opaque);color:var(--label);font-size:.85rem;font-weight:700;cursor:pointer;padding:.35rem .75rem;border-radius:var(--r-pill)}.domain-back-btn:hover{background:var(--bg2)}.domain-detail-icon-wrap{width:36px;height:36px;border-radius:var(--r-lg);background:var(--dc-bg, var(--bg));color:var(--dc, var(--label));display:flex;align-items:center;justify-content:center;flex-shrink:0}.domain-detail-title{font-size:1.25rem;font-weight:800;margin:0;flex:1;letter-spacing:-.3px}.domain-detail-stat{font-size:.85rem;color:var(--label3);font-weight:600}.primary.sm{padding:.45rem .9rem;font-size:.85rem}.check-events-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.75rem;padding:.45rem 1rem;background:var(--primary-fill);border:1.5px solid rgba(255,56,92,.25);border-radius:var(--r-pill);color:var(--primary);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .12s,border-color .12s,transform .12s}.check-events-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.discover-head.compact{margin-bottom:.85rem}.discover-head.compact h1{font-size:1.6rem;font-weight:800;margin:0 0 .1rem;letter-spacing:-.4px}.discover-head.compact .eyebrow{color:var(--label3);font-size:.76rem}.domain-filter-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.1rem}.domain-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;border-radius:var(--r-pill);border:1.5px solid var(--sep-opaque);background:var(--card);color:var(--label2);font-size:.83rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.domain-pill.active{background:var(--label);border-color:var(--label);color:#fff}.domain-pill:not(.active):hover{background:var(--bg2);border-color:var(--label3)}.activity-list{display:flex;flex-direction:column;gap:.6rem}.activity-row{display:flex;align-items:center;gap:1rem;padding:.85rem;background:var(--card);border-radius:var(--r-xl);border:1px solid var(--sep-opaque);transition:box-shadow .15s,transform .15s}.activity-row:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.activity-row-img{width:68px;height:68px;border-radius:var(--r-lg);overflow:hidden;flex-shrink:0;background:var(--bg)}.activity-row-img img{width:100%;height:100%;object-fit:cover}.activity-row-body{flex:1;min-width:0}.activity-row-tags{display:flex;gap:.35rem;margin-bottom:.3rem;align-items:center}.activity-domain-tag{font-size:.68rem;font-weight:700;color:var(--dp-color, var(--primary));letter-spacing:.04em;text-transform:uppercase}.activity-duration-tag{font-size:.68rem;color:var(--label3);font-weight:600}.activity-row-title{font-size:.95rem;font-weight:700;margin:0 0 .15rem;color:var(--label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.1px}.activity-row-loc{font-size:.78rem;color:var(--label3);margin:0}.activity-row-add{width:36px;height:36px;border-radius:50%;border:none;background:var(--label);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .12s}.activity-row-add:hover{background:var(--primary)}.activity-row-add:active{transform:scale(.93)}.caly{display:grid;grid-template-columns:260px 1fr;gap:1rem;height:100%;min-height:0}.caly-cal{background:var(--card);border-radius:var(--r-xl);padding:.9rem .7rem;border:1px solid var(--sep-opaque);align-self:start;overflow:hidden}.caly-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem;padding:0 .2rem}.caly-month-label{font-weight:800;font-size:.9rem;color:var(--label);letter-spacing:-.1px}.caly-nav-btn{border:1px solid var(--sep-opaque);background:var(--card);border-radius:var(--r-md);width:2rem;height:2rem;font-size:1rem;display:flex;align-items:center;justify-content:center;color:var(--label2);cursor:pointer}.caly-nav-btn:hover{background:var(--bg2)}.caly-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.caly-dow{text-align:center;font-size:.62rem;font-weight:700;color:var(--label3);letter-spacing:.06em;text-transform:uppercase;padding-bottom:.45rem}.caly-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border:none;background:none;border-radius:var(--r-md);font-size:.82rem;font-weight:500;color:var(--label2);cursor:pointer;transition:background .1s,color .1s}.caly-day:hover{background:var(--bg);color:var(--label)}.caly-day.today{font-weight:800;color:var(--primary)}.caly-day.selected{background:var(--label);color:#fff;font-weight:700}.caly-day.selected:hover{background:#333}.caly-dot{width:4px;height:4px;border-radius:50%;background:var(--primary);position:absolute;bottom:3px}.caly-day.selected .caly-dot{background:#fff9}.caly-detail{background:var(--card);border-radius:var(--r-xl);padding:1.25rem 1.35rem;border:1px solid var(--sep-opaque);overflow-y:auto}.caly-detail-head{display:flex;align-items:baseline;gap:.7rem;margin-bottom:1.1rem;padding-bottom:.85rem;border-bottom:1px solid var(--sep-opaque)}.caly-detail-head h2{font-size:1rem;font-weight:800;color:var(--label);margin:0;letter-spacing:-.1px}.caly-detail-count{font-size:.73rem;color:var(--primary);background:var(--primary-fill);padding:.15rem .55rem;border-radius:var(--r-pill);font-weight:700}.caly-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:3rem 1rem;color:var(--label3)}.caly-empty-icon{font-size:2.2rem}.caly-empty p{margin:0;font-size:.9rem;font-weight:600;color:var(--label2)}.caly-empty-sub{font-size:.78rem!important;color:var(--label3)!important;font-weight:400!important}.caly-events{display:flex;flex-direction:column;gap:.75rem}.caly-event{display:flex;gap:1rem;align-items:flex-start;padding:.95rem;border-radius:var(--r-xl);border:1px solid var(--sep-opaque);background:var(--card);transition:box-shadow .15s,transform .15s}.caly-event:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.caly-event-img{width:60px;height:60px;border-radius:var(--r-lg);overflow:hidden;background:var(--bg);flex-shrink:0}.caly-event-img img{width:100%;height:100%;object-fit:cover}.caly-event-body{flex:1;min-width:0}.caly-event-cat{font-size:.66rem;font-weight:700;letter-spacing:.07em;color:var(--primary);text-transform:uppercase;margin:0 0 .25rem}.caly-event-title{font-size:.95rem;font-weight:700;margin:0 0 .35rem;color:var(--label);letter-spacing:-.1px}.caly-event-meta{font-size:.78rem;color:var(--label3);margin:0 0 .1rem}.caly-event-notes{font-size:.78rem;color:var(--label3);font-style:italic;margin:.25rem 0 0}.caly-event-right{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;flex-shrink:0}.caly-status-badge{font-size:.7rem;font-weight:700;padding:.22rem .6rem;border-radius:var(--r-pill);letter-spacing:.02em}.caly-event-actions{display:flex;flex-direction:column;gap:.2rem;align-items:flex-end}.caly-action-btn{font-size:.72rem;padding:.22rem .6rem;border-radius:var(--r-pill);border:1px solid var(--sep-opaque);background:var(--card);color:var(--label2);cursor:pointer;font-weight:600;transition:background .1s,border-color .1s}.caly-action-btn:hover{background:var(--bg2);border-color:var(--label3)}.caly-del-btn{font-size:.72rem;padding:.22rem .6rem;border-radius:var(--r-pill);border:none;background:none;color:var(--label4);cursor:pointer;font-weight:600}.caly-del-btn:hover{color:var(--red)}.profile-page{display:flex;flex-direction:column;gap:1rem}.profile-hero{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem 1.5rem;gap:.5rem}.profile-hero-avatar{width:80px;height:80px;border-radius:var(--r-pill);background:var(--primary-fill);color:var(--primary);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--sep-opaque)}.profile-hero-name{font-size:1.5rem;font-weight:800;letter-spacing:-.4px;margin:.4rem 0 0}.profile-hero-birth{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--label3);font-weight:500;margin:0}.profile-section-card{background:var(--card);border-radius:var(--r-xl);border:1px solid var(--sep-opaque);overflow:hidden}.profile-section-head{display:flex;align-items:center;gap:.85rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--sep-opaque)}.profile-section-icon{width:38px;height:38px;border-radius:var(--r-lg);background:var(--bg);color:var(--label2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-section-title{font-size:.95rem;font-weight:800;margin:0 0 .05rem;letter-spacing:-.1px}.profile-section-sub{font-size:.75rem;color:var(--label3);margin:0}.profile-section-head .people-add-btn{margin-left:auto}.profile-form{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.25rem}.profile-form .primary{margin-top:.35rem;align-self:flex-start}.people-empty{font-size:.82rem;color:var(--label3);padding:.85rem 1.25rem 1rem;text-align:center}.people-list{padding:.5rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.5rem}.people-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;background:var(--bg);border-radius:var(--r-xl)}.people-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;flex-shrink:0}.people-info{flex:1;display:flex;flex-direction:column;gap:.1rem}.people-name{font-size:.92rem;font-weight:600;color:var(--label)}.people-relation{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .45rem;border-radius:var(--r-pill);align-self:flex-start}.people-remove{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--label3);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.people-remove:hover{background:var(--bg2);color:var(--label)}.kid-edit-btn{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--label3);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.kid-edit-btn:hover{background:var(--bg2);color:var(--label)}.people-form{display:flex;gap:.5rem;flex-wrap:wrap;padding:.85rem 1.25rem;border-top:1px solid var(--sep-opaque);background:var(--bg)}.people-form input,.people-form select{font-family:var(--font);font-size:.9rem;padding:.55rem .85rem;border:1.5px solid var(--sep-opaque);border-radius:var(--r-lg);background:var(--card);color:var(--label);outline:none;flex:1;min-width:100px}.people-form input:focus,.people-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-fill)}.people-form button{flex-shrink:0;padding:.55rem 1.2rem;font-size:.9rem}.moment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.75rem}.moment-card{background:var(--card);border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--sep-opaque);transition:transform .2s,box-shadow .2s}.moment-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.moment-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.moment-placeholder{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:var(--bg);color:var(--label4)}.moment-body{padding:.65rem .8rem .8rem}.moment-body .caption{font-size:.88rem;font-weight:700;color:var(--label)}.moment-body .muted{font-size:.75rem;margin-top:.15rem}.moment-body button.danger{font-size:.78rem;padding:.25rem .6rem;margin-top:.4rem;border-radius:var(--r-md)}.domain-card-time{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;padding:.55rem .9rem .75rem;border-top:1px solid var(--sep-opaque)}.domain-card-hrs{font-size:.7rem;font-weight:600;color:var(--label3)}.domain-card-log-btn{font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:var(--r-pill);background:var(--dc-bg, var(--bg));border:1px solid var(--dc, var(--sep-opaque));color:var(--dc, var(--label2));transition:background .12s,color .12s}.domain-card-log-btn:hover{background:var(--dc, var(--label));color:#fff;border-color:var(--dc, var(--label))}.weekly-goal-bar-wrap{background:var(--dc-bg, var(--bg));border:1px solid color-mix(in srgb,var(--dc, var(--sep-opaque)) 20%,transparent);border-radius:var(--r-xl);padding:1rem 1.1rem .85rem;margin-bottom:1rem}.weekly-goal-bar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.weekly-goal-left{display:flex;flex-direction:column;gap:.05rem}.weekly-goal-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--label3)}.weekly-goal-stat{font-size:1.05rem;font-weight:800;color:var(--dc, var(--label));letter-spacing:-.2px}.weekly-goal-log-btn{font-size:.75rem;font-weight:700;padding:.3rem .8rem;border-radius:var(--r-pill);border:1.5px solid var(--dc, var(--sep-opaque));background:transparent;color:var(--dc, var(--label2));cursor:pointer;transition:background .12s,color .12s}.weekly-goal-log-btn:hover{background:var(--dc, var(--label));color:#fff}.weekly-goal-sub{font-size:.72rem;color:var(--label3);margin:.45rem 0 0;font-weight:500}.weekly-goal-track{height:7px;background:color-mix(in srgb,var(--dc, #ccc) 20%,white);border-radius:var(--r-pill);overflow:hidden}.weekly-goal-fill{height:100%;background:var(--dc, var(--primary));border-radius:var(--r-pill);transition:width .5s ease;min-width:3px}.domain-toolbar{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem;flex-wrap:wrap}.domain-toolbar .week-nav{flex:1;justify-content:center}.week-nav-arrow{border:none;background:none;color:var(--label2);font-size:1.2rem;padding:.15rem .4rem;cursor:pointer;border-radius:var(--r-sm);transition:background .1s}.week-nav-arrow:hover{background:var(--bg2)}.voice-fab{width:36px;height:36px;border-radius:50%;background:var(--label);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,transform .12s}.voice-fab:hover{background:var(--primary);transform:scale(1.05)}.timelog-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.35rem}.timelog-icon-wrap{width:36px;height:36px;border-radius:var(--r-lg);background:var(--dc-bg, var(--bg));color:var(--dc, var(--label));display:flex;align-items:center;justify-content:center;flex-shrink:0}.timelog-header h3{margin:0;font-size:1.05rem;font-weight:800}.timelog-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1.25rem 0 1rem}.timelog-preset-btn{padding:.75rem 0;border-radius:var(--r-lg);border:1.5px solid var(--sep-opaque);background:var(--card);font-size:.9rem;font-weight:700;color:var(--label);cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .1s}.timelog-preset-btn:hover{background:var(--label);border-color:var(--label);color:#fff;transform:translateY(-1px)}.timelog-preset-btn:active{transform:scale(.97)}.timelog-cancel{width:100%;padding:.75rem;border-radius:var(--r-lg);border:none;background:var(--bg);color:var(--label2);font-size:.9rem;font-weight:600;cursor:pointer}.domain-filter-banner{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem;padding:.65rem 1rem;background:var(--primary-fill);border-radius:var(--r-lg);font-size:.88rem;color:var(--label2);border:1px solid rgba(255,56,92,.15)}.domain-filter-banner strong{color:var(--label)}.field-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--label2);padding:0 .15rem;display:block;margin-bottom:.5rem}.invite-grid{display:flex;flex-wrap:wrap;gap:.5rem}.invite-chip{display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem .35rem .45rem;border-radius:var(--r-pill);border:1.5px solid var(--sep-opaque);background:var(--card);cursor:pointer;font-size:.85rem;color:var(--label2);font-weight:500;transition:border-color .15s,background .15s,color .15s}.invite-chip.selected{border-color:var(--primary);background:var(--primary-fill);color:var(--label)}.invite-avatar{width:26px;height:26px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;color:var(--label2);flex-shrink:0}.invite-chip.selected .invite-avatar{background:var(--primary);color:#fff}.invite-name{font-size:.85rem}.invite-check{font-size:.75rem;color:var(--primary);font-weight:800}
