.header-tools {display:flex;gap:7px;align-items:center;margin-right:10px;}
.header-tool {width:36px;height:36px;position:relative;}
.header-tool svg,.search-field svg {width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.unread-badge {position:absolute;right:-4px;top:-5px;min-width:16px;height:16px;display:grid;place-items:center;border-radius:9px;padding:0 3px;background:var(--sage-dark);color:var(--paper);font-size:9px;font-weight:700;border:1px solid var(--paper);}
[hidden] {display:none!important;}
.search-dialog {width:min(650px,calc(100% - 24px));max-height:85vh;}
.search-field {display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;color:var(--sage-dark);background:var(--glass);}
.search-field input {flex:1;min-width:0;border:0;padding:0;background:transparent;box-shadow:none;}
.search-field input:focus {outline:none;}
.search-field:focus-within {outline:2px solid var(--sage-dark);outline-offset:2px;}
.search-filters {flex-wrap:wrap;margin:18px 0;gap:7px;}
.search-filters .pill {font-size:11px;padding:8px 11px;}
.search-result {display:flex;align-items:center;gap:16px;width:100%;padding:16px 5px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);}
.search-result:hover,.search-result:focus-visible {background:var(--sage-soft);border-radius:12px;}
.search-result>span:nth-child(2) {flex:1;min-width:0;}
.search-result strong {display:block;overflow-wrap:anywhere;font-size:14px;}
.search-result small {display:block;font-size:11px;color:var(--muted);margin-top:5px;}
.result-symbol {font-size:22px;width:25px;color:var(--sage-dark);}
.found-record {outline:2px solid var(--sage-dark);outline-offset:4px;border-radius:14px;}
.inbox-list {padding:0 20px;}
.inbox-item {padding:18px 0;border-bottom:1px solid var(--line);}
.inbox-item:last-child {border-bottom:0;}
.inbox-open {display:flex;align-items:flex-start;gap:14px;background:transparent;border:0;width:100%;padding:0;text-align:left;color:var(--ink);}
.inbox-open>span:nth-child(2) {flex:1;min-width:0;}
.inbox-open strong {font-size:14px;}
.inbox-open p {margin:7px 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;}
.inbox-open small {font-size:11px;color:var(--muted);}
.inbox-symbol {width:34px;height:34px;border-radius:12px;background:var(--sage-soft);color:var(--sage-dark);display:grid;place-items:center;flex-shrink:0;}
.unread-dot {width:7px;height:7px;background:var(--sage-dark);border-radius:50%;flex-shrink:0;margin:7px 0 0;}
.inbox-read {margin:10px 0 0 48px;font-size:11px;}
.trash-list {padding:4px 22px;margin-top:20px;}
.trash-row {padding:18px 0;border-bottom:1px solid var(--line);}
.trash-row:last-child {border-bottom:0;}
.trash-row h3 {overflow-wrap:anywhere;}
.trash-row small {color:var(--muted);font-size:12px;}
.undo-bar {position:fixed;bottom:calc(105px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 30px);padding:12px 16px;border:1px solid var(--glass-edge);border-radius:18px;background:var(--paper);box-shadow:var(--glass-shadow);font-size:12px;}
.board-week-nav {display:flex;align-items:center;justify-content:space-between;gap:14px;margin:26px 0 12px;}
.board-week-nav>div {text-align:center;}
.board-week-nav strong {font-size:17px;}
.board-week-nav small {display:block;color:var(--muted);font-size:11px;margin-top:6px;}
.board-week-actions {display:flex;justify-content:space-between;margin-bottom:20px;}
.previous-week-win {display:flex;align-items:center;gap:12px;padding:16px 20px;margin:16px 0;color:var(--sage-dark);}
.previous-week-win strong {flex:1;font-size:12px;line-height:1.5;}
.previous-week-win .text-button {font-size:10px;white-space:nowrap;}
.board-players {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.player-card {padding:22px;min-width:0;}
.player-heading {display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.board-avatar {width:36px;height:36px;object-fit:cover;border-radius:50%;background:var(--sage-soft);flex-shrink:0;}
.avatar-initial {display:grid;place-items:center;color:var(--sage-dark);font-weight:700;}
.player-heading h2 {font-size:17px;letter-spacing:-.4px;margin:0;overflow-wrap:anywhere;}
.player-heading small {font-size:10px;color:var(--muted);}
.today-check {font-size:10px;background:var(--sage-soft);color:var(--sage-dark);padding:5px 8px;border-radius:10px;}
.player-progress {display:flex;align-items:center;gap:18px;margin:24px 0;}
.consistency-ring {width:94px;height:94px;border-radius:50%;background:conic-gradient(var(--sage-dark) var(--progress),var(--line) 0);display:grid;place-items:center;flex-shrink:0;}
.consistency-ring>span {width:78px;height:78px;border-radius:50%;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:30px;font-weight:700;color:var(--sage-dark);}
.consistency-ring small {font-size:10px;font-weight:400;color:var(--muted);}
.player-points {font-size:30px;letter-spacing:-1px;}
.player-points small {font-size:11px;font-weight:500;letter-spacing:0;margin-left:5px;color:var(--muted);}
.player-progress p {font-size:11px;color:var(--muted);margin:7px 0 12px;}
.streak-pill {display:inline-block;padding:6px 9px;border-radius:12px;background:var(--sage-soft);color:var(--sage-dark);font-size:10px;font-weight:600;white-space:nowrap;}
.consistency-days {display:grid;grid-template-columns:repeat(7,1fr);gap:5px;}
.consistency-days>span {text-align:center;color:var(--muted);}
.consistency-days small {display:block;font-size:9px;margin-bottom:5px;}
.consistency-days b {display:grid;place-items:center;height:24px;border:1px solid var(--line);border-radius:9px;font-size:11px;}
.consistency-days .logged b {background:var(--sage-soft);border-color:var(--sage);color:var(--sage-dark);}
.consistency-days .today b {outline:1px solid var(--sage-dark);outline-offset:2px;}
.week-celebration {display:flex;gap:18px;padding:24px;margin-top:20px;background:linear-gradient(130deg,var(--sage-soft),var(--glass));}
.celebration-symbol {font-size:35px;color:var(--sage-dark);}
.week-celebration>div {flex:1;min-width:0;}
.week-celebration h2 {font-size:21px;}
.week-celebration .subtle {margin:10px 0;}
.week-celebration small {display:block;color:var(--muted);font-size:11px;line-height:1.5;}
.week-celebration .text-button {margin-top:12px;font-size:11px;}
.activity-goals {display:grid;gap:18px;}
.goal-card {padding:22px;min-width:0;}
.goal-heading {display:flex;align-items:center;gap:14px;}
.goal-symbol {height:40px;width:40px;border-radius:14px;background:var(--sage-soft);color:var(--sage-dark);display:grid;place-items:center;font-size:23px;flex-shrink:0;}
.goal-heading>div {flex:1;min-width:0;}
.goal-heading h3 {font-size:17px;overflow-wrap:anywhere;}
.goal-heading p {font-size:12px;color:var(--muted);margin:7px 0 0;}
.goal-reward {font-size:12px;background:var(--sage-soft);color:var(--sage-dark);border-radius:12px;padding:10px 12px;line-height:1.5;margin:18px 0 0;}
.goal-person {padding:20px 0;border-bottom:1px solid var(--line);}
.goal-person-heading {display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;font-size:13px;}
.goal-person-heading span {font-size:11px;color:var(--muted);}
.goal-reached .goal-person-heading span {color:var(--sage-dark);font-weight:600;}
.goal-day-buttons {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;}
.goal-day {display:flex;flex-direction:column;align-items:center;gap:8px;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:10px 3px;min-height:56px;}
.goal-day small {font-size:10px;}
.goal-day span {font-size:14px;}
.goal-day.logged {background:var(--sage-soft);border-color:var(--sage);color:var(--sage-dark);}
.goal-day.today {outline:1px solid var(--sage-dark);outline-offset:2px;}
.goal-day:disabled {opacity:.7;cursor:default;}
.goal-day.logged:disabled {opacity:1;}
.goal-footer {display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:14px;}
.goal-footer small {font-size:10px;color:var(--muted);line-height:1.5;}
.goal-footer .text-button {font-size:10px;white-space:nowrap;}
.empty-spark {display:block;font-size:44px;color:var(--sage);margin-bottom:16px;}
.goal-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.home-activity {display:flex;align-items:center;gap:16px;padding:22px;}
.home-activity>div {flex:1;min-width:0;}
.home-activity h3 {overflow-wrap:anywhere;}
.home-activity p {font-size:12px;margin:8px 0 0;}
.home-spark {font-size:30px;color:var(--sage-dark);}
.goal-celebrate {animation:goal-glow .8s ease-out;}
@keyframes goal-glow {0%,100% {box-shadow:var(--glass-shadow);}40% {box-shadow:0 0 0 8px var(--sage-soft),var(--glass-shadow);}}
@supports(backdrop-filter:blur(1px)) {.undo-bar {background:var(--glass-strong);backdrop-filter:blur(24px);}}
@media(max-width:600px) {
 .board-players {grid-template-columns:1fr;gap:14px;}
 .player-progress {margin:20px 0;gap:22px;}
 .player-heading small {font-size:11px;}
 .player-heading .today-check {margin-left:auto;}
 .consistency-days b {height:28px;}
 .goal-card {padding:18px;}
 .goal-day-buttons {gap:5px;}
 .goal-day small {font-size:9px;}
 .goal-footer {align-items:flex-start;}
 .week-celebration {padding:20px;gap:14px;}
}
@media(max-width:440px) {.connection-pill {font-size:0;margin-right:8px;gap:0;}.connection-pill:before {width:6px;height:6px;}.header-tools {gap:5px;margin-right:8px;}.header-tool {height:34px;width:34px;}.wordmark {gap:7px;}.wordmark span {font-size:27px;}}
@media(prefers-reduced-motion:reduce) {.goal-celebrate {animation:none;}}
