.meals-page{--meals-paper: #fdfaf3;--meals-paper-deep: #efe7da;--meals-rule: #e3dbcd;--meals-ink-soft: #6f675a}.meals-page .meals-note{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);align-items:center;gap:22px 36px;padding:27px 30px 24px;margin-bottom:20px;background:var(--meals-paper-deep);border:1px solid #d8cbb9;border-radius:var(--radius);box-shadow:5px 5px #a1543b0d;overflow:hidden}.meals-page .meals-note:after{content:"膳";position:absolute;right:18px;bottom:-28px;font-family:var(--font-serif);font-size:128px;line-height:1;color:#a1543b0e;pointer-events:none;-webkit-user-select:none;user-select:none}.meals-page .meals-note__copy{position:relative;z-index:1}.meals-page .meals-note__copy h2{margin:7px 0 8px;font-family:var(--font-serif);font-size:clamp(25px,2.4vw,32px);font-weight:600;line-height:1.48;color:var(--ink)}.meals-page .meals-note__copy h2 em{font-style:normal;color:var(--terracotta);white-space:nowrap}.meals-page .meals-note__copy p{max-width:660px;color:var(--meals-ink-soft);font-size:14px;line-height:1.85}.meals-page .meals-note__figure{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;padding-left:26px;border-left:1px solid rgba(121,100,75,.2)}.meals-page .meals-note__figure>span{color:#817662;font-size:12.5px}.meals-page .meals-note__figure strong{font-family:var(--font-num);font-size:27px;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}.meals-page .meals-note__figure strong small{margin-left:3px;font-family:var(--font-sans);font-size:13px;font-weight:400;color:var(--muted)}.meals-page .meals-note__figure>small{color:#7d7362;font-size:12.5px;line-height:1.6}.meals-page .meals-meter{width:100%;height:5px;margin:1px 0 3px;background:#e3d9ca;border-radius:3px;overflow:hidden}.meals-page .meals-meter>span{display:block;height:100%;background:var(--green);border-radius:3px;transition:width .45s cubic-bezier(.2,.8,.2,1)}.meals-page .meals-tabs{margin-bottom:18px}.meals-page .meals-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:18px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.meals-page .meals-day{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:10px 4px 9px;color:var(--muted);border:1px solid transparent;border-radius:8px;transition:color .18s,background .18s,border-color .18s}.meals-page .meals-day:hover{color:var(--ink);background:var(--surface-2)}.meals-page .meals-day.is-active{color:var(--green-deep);background:#f6f1e7;border-color:#d8cbb9;box-shadow:inset 0 -2px 0 var(--green)}.meals-page .meals-day.is-today .meals-day__week{color:var(--terracotta)}.meals-page .meals-day__week{font-size:12.5px;font-weight:600;line-height:1.5;letter-spacing:.02em;white-space:nowrap}.meals-page .meals-day__date{font-family:var(--font-num);font-size:15px;font-weight:600;line-height:1.25;white-space:nowrap}.meals-page .meals-day__dots{display:flex;gap:3px;height:5px;margin-top:1px}.meals-page .meals-day__dot{display:block;width:4px;height:4px;border:1px solid #cbbfa9;border-radius:50%}.meals-page .meals-day__dot.is-on{background:var(--green);border-color:var(--green)}.meals-page .meals-day.is-active .meals-day__dot.is-on{background:var(--green-deep);border-color:var(--green-deep)}.meals-page .meals-week-layout{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:18px;align-items:start}.meals-page .meals-week-card{padding:23px 26px 9px;border-radius:14px}.meals-page .meals-week-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px;padding-bottom:13px;border-bottom:1px solid var(--line)}.meals-page .meals-week-head h2{margin-top:3px;font-family:var(--font-serif);font-size:22px;font-weight:600;line-height:1.42}.meals-page .meals-week-head__meta{display:inline-flex;align-items:center;gap:5px;padding-top:5px;color:var(--muted);font-size:12.5px;white-space:nowrap}.meals-page .meals-week-head__meta svg{color:var(--gold)}.meals-page .meals-day-list{display:flex;flex-direction:column}.meals-page .meals-day-row{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px;align-items:start;padding:14px 0;border-bottom:1px dashed rgba(201,192,175,.72)}.meals-page .meals-day-row:last-child{border-bottom:0}.meals-page .meals-day-row.is-focused:before{content:"";position:absolute;top:15px;bottom:15px;left:-27px;width:2px;background:var(--terracotta);opacity:.7}.meals-page .meals-day-row.is-today .meals-day-row__label strong{color:var(--terracotta)}.meals-page .meals-day-row__label{display:flex;flex-direction:column;gap:1px;padding-top:2px}.meals-page .meals-day-row__label strong{font-family:var(--font-serif);font-size:16px;font-weight:600;line-height:1.4;color:var(--ink-2)}.meals-page .meals-day-row__label span{color:var(--muted);font-size:12px;line-height:1.5;white-space:nowrap}.meals-page .meals-today-mark{margin-top:2px;color:var(--terracotta);font-family:var(--font-sans);font-size:12px;font-style:normal;line-height:1.5}.meals-page .meals-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.meals-page .meals-slot{display:flex;flex-direction:column;gap:5px;min-width:0;min-height:72px;padding:9px 10px 10px;text-align:left;background:#fbf7ef;border:1px solid var(--meals-rule);border-radius:8px;transition:background .18s,border-color .18s}.meals-page .meals-slot:hover{background:var(--surface);border-color:#c9bfae}.meals-page .meals-slot.is-filled{padding-left:12px;box-shadow:inset 3px 0 0 var(--slot-accent, #c3b7a3)}.meals-page .meals-slot.is-empty{background:#f5f0e673;border-style:dashed}.meals-page .meals-slot.is-empty:hover{background:#faf6ee;border-color:#b9ad97}.meals-page .meals-slot__label{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;line-height:1.3}.meals-page .meals-slot__label svg{color:#a08a68}.meals-page .meals-slot__body{display:flex;align-items:center;gap:8px;min-width:0}.meals-page .meals-slot__emoji{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:#f1e9dc;border-radius:7px;font-size:19px;line-height:1}.meals-page .meals-slot__name{display:flex;flex-direction:column;min-width:0}.meals-page .meals-slot__name strong{font-size:13.5px;font-weight:600;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-page .meals-slot__name span{color:var(--muted);font-size:12px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-page .meals-slot__empty{display:flex;align-items:center;gap:5px;padding:1px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.meals-page .meals-slot.is-empty:hover .meals-slot__empty{color:var(--green)}.meals-page .meals-week-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;padding:12px 2px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px;line-height:1.7}.meals-page .meals-week-foot>span{display:inline-flex;align-items:center;gap:6px}.meals-page .meals-week-foot>span svg{flex-shrink:0;color:var(--gold)}.meals-page .meals-week-foot button{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;color:var(--green);font-size:12.5px;font-weight:600}.meals-page .meals-week-foot button:hover{color:var(--green-deep)}.meals-page .meals-week-side{display:flex;flex-direction:column;gap:16px;min-width:0}.meals-page .meals-today-card,.meals-page .meals-pantry-card,.meals-page .meals-grocery-card{padding:21px 21px 16px;border-radius:14px}.meals-page .meals-today-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.meals-page .meals-today-head h2{margin-top:3px;font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.42}.meals-page .meals-today-stamp{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;color:var(--terracotta);font-family:var(--font-serif);font-size:13.5px;letter-spacing:.04em;border:1px solid rgba(161,84,59,.35);border-radius:4px;transform:rotate(-3deg);opacity:.82}.meals-page .meals-today-list{display:flex;flex-direction:column}.meals-page .meals-today-row{display:flex;align-items:center;gap:9px;width:100%;padding:10px 1px;text-align:left;border-bottom:1px dashed rgba(201,192,175,.62)}.meals-page .meals-today-row:last-child{border-bottom:0}.meals-page .meals-today-row__meal{flex-shrink:0;width:34px;color:var(--muted);font-size:12px;line-height:1.5}.meals-page .meals-today-row__body{display:flex;flex-direction:column;flex:1;min-width:0}.meals-page .meals-today-row__body strong{font-size:13.5px;font-weight:600;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-page .meals-today-row__body strong.is-empty{color:var(--muted);font-weight:500}.meals-page .meals-today-row__body span{color:var(--muted);font-size:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-page .meals-today-row__add{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;color:var(--muted);border:1px solid var(--line);border-radius:6px}.meals-page .meals-today-row:hover .meals-today-row__add{color:var(--green);border-color:#cbded3;background:var(--green-soft)}.meals-page .meals-today-note{padding-top:10px;color:var(--muted);font-size:12.5px;line-height:1.7}.meals-page .meals-pantry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.meals-page .meals-pantry-head h2{margin-top:3px;font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.42}.meals-page .meals-pantry-count{flex-shrink:0;padding-top:3px;color:var(--green);font-family:var(--font-num);font-size:14px}.meals-page .meals-pantry-list{display:flex;flex-direction:column}.meals-page .meals-pantry-row{display:flex;align-items:center;gap:9px;width:100%;padding:9px 1px;text-align:left;border-bottom:1px dashed rgba(201,192,175,.62)}.meals-page .meals-pantry-row:last-child{border-bottom:0}.meals-page .meals-pantry-row__emoji{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:#f3ece0;border-radius:7px;font-size:18px;line-height:1}.meals-page .meals-pantry-row__copy{display:flex;flex-direction:column;flex:1;min-width:0}.meals-page .meals-pantry-row__copy strong{font-size:13px;font-weight:600;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-page .meals-pantry-row__copy span{color:var(--muted);font-size:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-page .meals-pantry-row>svg{flex-shrink:0;color:var(--muted-2)}.meals-page .meals-pantry-row:hover strong{color:var(--green)}.meals-page .meals-pantry-empty{padding:14px 0 6px;color:var(--muted);font-size:13px;line-height:1.7}.meals-page .meals-pantry-foot{display:flex;align-items:center;gap:5px;margin-top:8px;padding-top:10px;border-top:1px solid var(--line);color:var(--green);font-size:12.5px;font-weight:600}.meals-page .meals-pantry-foot:hover{color:var(--green-deep)}.meals-page .meals-grocery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.meals-page .meals-grocery-head h2{margin-top:3px;font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.42}.meals-page .meals-grocery-count{flex-shrink:0;padding-top:3px;color:var(--terracotta);font-family:var(--font-num);font-size:14px}.meals-page .meals-grocery-list{display:flex;flex-wrap:wrap;gap:5px;padding:11px 0 1px}.meals-page .meals-grocery-item{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;color:#9a5a42;font-size:12.5px;line-height:1.55;background:#f8ede5;border:1px solid #eed9cc;border-radius:4px}.meals-page .meals-grocery-item.is-queued{color:var(--green);background:var(--green-soft);border-color:#dbe7de}.meals-page .meals-grocery-btn{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:36px;margin-top:11px;padding:7px 10px;color:#f7efe1;font-size:12.5px;font-weight:600;line-height:1.5;background:var(--green-deep);border-radius:7px}.meals-page .meals-grocery-btn:hover:not(:disabled){background:#223d31}.meals-page .meals-grocery-btn:disabled{color:var(--muted);background:var(--surface-2);cursor:default}.meals-page .meals-grocery-empty{padding-top:12px;color:var(--muted);font-size:13px;line-height:1.75}.meals-page .meals-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;padding:13px 15px;margin-bottom:14px;border-radius:12px}.meals-page .meals-search{display:flex;align-items:center;gap:7px;width:280px;max-width:100%;height:40px;padding:0 11px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:7px}.meals-page .meals-search input{flex:1;min-width:0;height:100%;font-size:14px;color:var(--ink);background:transparent;border:0;outline:0}.meals-page .meals-search button{display:grid;place-items:center;color:var(--muted)}.meals-page .meals-tags{display:flex;flex:1;flex-wrap:wrap;gap:4px}.meals-page .meals-tags button{padding:6px 10px;color:var(--muted);font-size:13px;line-height:1.5;border:1px solid transparent;border-radius:6px}.meals-page .meals-tags button:hover{color:var(--ink);background:var(--surface-2)}.meals-page .meals-tags button.is-active{color:#f7efe1;background:var(--green-deep)}.meals-page .meals-toolbar__count{margin-left:auto;color:var(--muted);font-size:12.5px;white-space:nowrap}.meals-page .meals-library-note{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin-bottom:14px;padding:0 2px;color:var(--muted);font-size:12.5px;line-height:1.7}.meals-page .meals-library-note span{display:inline-flex;align-items:center;gap:5px}.meals-page .meals-library-note svg{color:var(--gold);flex-shrink:0}.meals-page .meals-recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px;align-items:stretch}.meals-page .meals-recipe-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:19px 20px 15px;border-radius:13px}.meals-page .meals-recipe__head{display:flex;align-items:flex-start;gap:9px}.meals-page .meals-recipe__open{display:flex;align-items:center;gap:11px;flex:1;min-width:0;text-align:left}.meals-page .meals-recipe__emoji{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;font-size:23px;line-height:1;border:1px solid var(--meals-rule);border-radius:9px}.meals-page .meals-recipe__title{display:flex;flex-direction:column;gap:1px;min-width:0}.meals-page .meals-recipe__title strong{font-family:var(--font-serif);font-size:19px;font-weight:600;line-height:1.42}.meals-page .meals-recipe__title span{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12.5px;line-height:1.5}.meals-page .meals-recipe__head .badge{flex-shrink:0;margin-top:2px}.meals-page .meals-recipe__meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px}.meals-page .meals-tag{display:inline-flex;align-items:center;padding:2px 7px;color:var(--ink-2);font-size:12px;line-height:1.55;background:var(--surface-2);border:1px solid var(--line);border-radius:4px}.meals-page .meals-nutri{display:inline-flex;align-items:center;gap:3px;color:#8a6a3f;font-size:12px;line-height:1.55}.meals-page .meals-nutri svg{flex-shrink:0}.meals-page .meals-recipe__ingredients{padding-top:10px;border-top:1px dashed rgba(201,192,175,.72)}.meals-page .meals-recipe__label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;letter-spacing:.04em}.meals-page .meals-ing-list{display:flex;flex-wrap:wrap;gap:5px}.meals-page .meals-ing{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;color:var(--ink-2);font-size:12.5px;line-height:1.55;background:#e7eee89e;border:1px solid #dbe5dd;border-radius:4px}.meals-page .meals-ing.is-missing{color:#9a5a42;background:#f8ede5;border-color:#eed9cc}.meals-page .meals-ing svg{flex-shrink:0}.meals-page .meals-recipe__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}.meals-page .meals-link{display:inline-flex;align-items:center;gap:3px;color:var(--green);font-size:13px;font-weight:600}.meals-page .meals-link:hover{color:var(--green-deep)}.meals-page .meals-ok-note{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-size:12.5px;white-space:nowrap}.meals-page .meals-buy-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:5px 10px;color:var(--terracotta);font-size:12.5px;font-weight:600;line-height:1.4;background:var(--terracotta-soft);border-radius:6px}.meals-page .meals-buy-btn:hover:not(:disabled){background:#eedbcf}.meals-page .meals-buy-btn:disabled{color:var(--muted);background:var(--surface-2);cursor:default}.meals-modal{--meals-paper: #fdfaf3;--meals-rule: #e3dbcd}.meals-modal .meals-picker{display:flex;flex-direction:column;gap:14px}.meals-modal .meals-picker__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:13px;border-bottom:1px solid var(--line)}.meals-modal .meals-picker__date{display:flex;flex-direction:column;gap:2px;min-width:0}.meals-modal .meals-picker__date strong{font-family:var(--font-serif);font-size:17px;font-weight:600;line-height:1.45}.meals-modal .meals-picker__date span{color:var(--muted);font-size:12.5px;line-height:1.65}.meals-modal .meals-picker__list{display:flex;flex-direction:column;max-height:46vh;overflow-y:auto;padding-right:2px}.meals-modal .meals-picker-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px 8px;text-align:left;border-bottom:1px dashed rgba(201,192,175,.66);border-radius:6px}.meals-modal .meals-picker-row:last-child{border-bottom:0}.meals-modal .meals-picker-row:hover{background:var(--surface-2)}.meals-modal .meals-picker-row.is-current{background:#f2f6f1}.meals-modal .meals-picker-row__emoji{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;font-size:20px;line-height:1;background:#f3ece0;border:1px solid var(--meals-rule);border-radius:7px}.meals-modal .meals-picker-row__copy{display:flex;flex-direction:column;flex:1;min-width:0}.meals-modal .meals-picker-row__copy strong{font-size:14px;font-weight:600;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-modal .meals-picker-row__copy span{color:var(--muted);font-size:12.5px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meals-modal .meals-picker-row__state{flex-shrink:0;color:var(--green);font-size:12.5px;white-space:nowrap}.meals-modal .meals-picker-row__state.is-missing{color:var(--terracotta)}.meals-modal .meals-picker-row__check{flex-shrink:0;color:var(--green)}.meals-modal .meals-picker__note{display:flex;align-items:flex-start;gap:6px;color:var(--muted);font-size:12.5px;line-height:1.7}.meals-modal .meals-picker__note svg{flex-shrink:0;margin-top:2px;color:var(--gold)}.meals-modal .meals-recipe-detail{display:flex;flex-direction:column;gap:19px}.meals-modal .meals-recipe-detail__hero{display:flex;align-items:flex-start;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}.meals-modal .meals-recipe-detail__emoji{display:grid;place-items:center;flex-shrink:0;width:64px;height:64px;font-size:34px;line-height:1;border:1px solid var(--meals-rule);border-radius:10px}.meals-modal .meals-recipe-detail__hero h3{font-family:var(--font-serif);font-size:26px;font-weight:600;line-height:1.38}.meals-modal .meals-recipe-detail__hero p{display:flex;align-items:center;gap:4px;margin-top:4px;color:var(--muted);font-size:13.5px;line-height:1.6}.meals-modal .meals-recipe-detail__tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:7px}.meals-modal .meals-tag{display:inline-flex;align-items:center;padding:2px 7px;color:var(--ink-2);font-size:12px;line-height:1.55;background:var(--surface-2);border:1px solid var(--line);border-radius:4px}.meals-modal .meals-nutri{display:inline-flex;align-items:center;gap:3px;color:#8a6a3f;font-size:12px;line-height:1.55}.meals-modal .meals-detail-section{min-width:0}.meals-modal .meals-detail-section__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.meals-modal .meals-detail-section h4{display:flex;align-items:baseline;gap:7px;font-family:var(--font-serif);font-size:17px;font-weight:600;line-height:1.45}.meals-modal .meals-detail-section h4 span{color:var(--muted);font-family:var(--font-sans);font-size:12px;font-weight:400}.meals-modal .meals-buy-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:5px 10px;color:var(--terracotta);font-size:12.5px;font-weight:600;line-height:1.4;background:var(--terracotta-soft);border-radius:6px}.meals-modal .meals-buy-btn:hover:not(:disabled){background:#eedbcf}.meals-modal .meals-buy-btn:disabled{color:var(--muted);background:var(--surface-2);cursor:default}.meals-modal .meals-ing-check{display:flex;flex-direction:column;list-style:none}.meals-modal .meals-ing-check__row{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:14px;line-height:1.6;border-bottom:1px dashed rgba(201,192,175,.66)}.meals-modal .meals-ing-check__row:last-child{border-bottom:0}.meals-modal .meals-ing-check__mark{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;color:var(--green);background:var(--green-soft);border-radius:50%}.meals-modal .meals-ing-check__row.is-missing .meals-ing-check__mark{color:var(--terracotta);background:var(--terracotta-soft)}.meals-modal .meals-ing-check__row strong{font-size:14px;font-weight:600}.meals-modal .meals-ing-check__row>span:last-child{margin-left:auto;color:var(--muted);font-size:12.5px;white-space:nowrap}.meals-modal .meals-ing-check__row.is-missing>span:last-child{color:var(--terracotta)}.meals-modal .meals-steps{display:flex;flex-direction:column;list-style:none}.meals-modal .meals-steps li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px dashed rgba(201,192,175,.66)}.meals-modal .meals-steps li:last-child{border-bottom:0}.meals-modal .meals-steps__num{display:grid;place-items:center;width:23px;height:23px;color:var(--terracotta);font-family:var(--font-num);font-size:13px;line-height:1;background:#f3ece0;border:1px solid #e6dbcb;border-radius:50%}.meals-modal .meals-steps p{color:var(--ink-2);font-size:14px;line-height:1.8}.meals-modal .meals-detail-note{display:flex;align-items:flex-start;gap:7px;padding:11px 13px;color:var(--muted);font-size:12.5px;line-height:1.7;background:var(--surface-2);border-left:2px solid #d8cbb9;border-radius:0 5px 5px 0}.meals-modal .meals-detail-note svg{flex-shrink:0;margin-top:2px;color:var(--gold)}.meals-modal .meals-detail-foot{display:flex;flex-direction:column;gap:8px;width:100%}.meals-modal .meals-detail-foot__row{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.meals-modal .meals-detail-foot__row .input{width:auto;min-width:158px}.meals-modal .meals-detail-foot__actions{display:flex;align-items:center;gap:9px;margin-left:auto}.meals-modal .meals-detail-foot__hint{display:flex;align-items:center;gap:5px;color:var(--gold);font-size:12.5px;line-height:1.6}.meals-modal .meals-detail-foot__hint svg{flex-shrink:0}@media(max-width:1180px){.meals-page .meals-note{grid-template-columns:1fr;gap:16px;align-items:start}.meals-page .meals-note__figure{padding-left:0;padding-top:13px;border-left:0;border-top:1px solid rgba(121,100,75,.2)}.meals-page .meals-week-layout{grid-template-columns:1fr}.meals-page .meals-week-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}}@media(max-width:900px){.meals-page .meals-note__copy p{font-size:13.5px}.meals-page .meals-week-side{grid-template-columns:1fr}.meals-page .meals-recipe-grid{gap:14px}}@media(max-width:780px){.meals-page .meals-note{padding:22px 20px 20px;box-shadow:4px 4px #a1543b0b}.meals-page .meals-note:after{right:8px;bottom:-18px;font-size:96px}.meals-page .meals-note__copy h2{font-size:25px}.meals-page .meals-note__figure strong{font-size:24px}.meals-page .meals-week-card{padding:19px 18px 7px}.meals-page .meals-week-head h2{font-size:20px}.meals-page .meals-day-row{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:13px 0}.meals-page .meals-day-row.is-focused:before{left:-19px}.meals-page .meals-day-row__label strong{font-size:15px}.meals-page .meals-slots{gap:6px}.meals-page .meals-slot{padding:8px 8px 9px}.meals-page .meals-slot.is-filled{padding-left:10px}.meals-page .meals-slot__emoji{width:27px;height:27px;font-size:17px}.meals-page .meals-slot__name strong{font-size:13px}.meals-page .meals-pantry-card,.meals-page .meals-today-card,.meals-page .meals-grocery-card{padding:19px 18px 15px}.meals-page .meals-toolbar{padding:12px}.meals-page .meals-search{width:100%}.meals-page .meals-toolbar__count{margin-left:0}.meals-page .meals-recipe-card{padding:17px 17px 14px}.meals-modal .meals-detail-foot__row .input{flex:1}}@media(max-width:560px){.meals-page .meals-week-strip{gap:2px;padding:6px;border-radius:10px}.meals-page .meals-day{padding:8px 1px 7px;gap:2px}.meals-page .meals-day__week{font-size:12px}.meals-page .meals-day__date{font-size:14px}.meals-page .meals-day__dots{gap:2px}.meals-page .meals-week-head__meta{width:100%;padding-top:0}.meals-page .meals-day-row{grid-template-columns:1fr;gap:7px;padding:12px 0}.meals-page .meals-day-row__label{flex-direction:row;align-items:baseline;gap:7px;padding-top:0}.meals-page .meals-today-mark{margin-top:0}.meals-page .meals-slots{grid-template-columns:1fr;gap:5px}.meals-page .meals-slot{flex-direction:row;align-items:center;gap:8px;min-height:50px;padding:8px 10px}.meals-page .meals-slot.is-filled{padding-left:11px}.meals-page .meals-slot__label{flex-shrink:0;width:44px}.meals-page .meals-slot__body{flex:1}.meals-page .meals-slot__empty{padding:0}.meals-page .meals-slot__name strong{font-size:13.5px}.meals-page .meals-week-foot{flex-direction:column;align-items:flex-start;gap:6px;font-size:12px}.meals-page .meals-library-note{flex-direction:column;align-items:flex-start;gap:4px}.meals-page .meals-recipe-grid{grid-template-columns:1fr}.meals-page .meals-recipe__head{flex-wrap:wrap}.meals-page .meals-recipe__head .badge{margin-left:auto}.meals-page .meals-ing{font-size:12px}.meals-page .meals-recipe__foot{align-items:flex-start;flex-direction:column}.meals-page .meals-recipe__foot .meals-buy-btn{width:100%}.meals-modal .meals-picker__top{flex-direction:column;align-items:stretch}.meals-modal .meals-picker__top .segmented{width:100%}.meals-modal .meals-picker__top .segmented button{flex:1;justify-content:center}.meals-modal .meals-picker__list{max-height:none}.meals-modal .meals-picker-row__state{display:none}.meals-modal .meals-recipe-detail__hero{gap:11px}.meals-modal .meals-recipe-detail__emoji{width:52px;height:52px;font-size:28px}.meals-modal .meals-recipe-detail__hero h3{font-size:22px}.meals-modal .meals-detail-foot__row .input{width:100%;min-width:0}.meals-modal .meals-detail-foot .segmented{display:flex;width:100%}.meals-modal .meals-detail-foot .segmented button{flex:1;justify-content:center}.meals-modal .meals-detail-foot__actions{width:100%;margin-left:0}.meals-modal .meals-detail-foot__actions .btn{flex:1}.meals-modal .meals-detail-section__head{align-items:flex-start;flex-direction:column}}.meals-page .meals-slot__emoji,.meals-page .meals-pantry-row__emoji,.meals-page .meals-recipe__emoji,.meals-modal .meals-picker-row__emoji,.meals-modal .meals-recipe-detail__emoji{font-family:var(--font-serif);font-weight:600}.meals-page .meals-pantry-row__emoji{display:grid;flex-direction:initial;gap:0}.rules-page .rules-ledger{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(286px,.8fr);gap:18px 34px;margin-bottom:20px;padding:29px 32px 22px;border:1px solid #d8cbb9;border-radius:var(--radius);background:#efe6d8;box-shadow:5px 5px #a1543b0d;overflow:hidden}.rules-page .rules-ledger:before{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;background:#c7a87d}.rules-page .rules-ledger__copy{position:relative;z-index:1;min-width:0}.rules-page .rules-ledger__copy h2{margin:8px 0;font-family:var(--font-serif);font-size:clamp(26px,2.6vw,33px);font-weight:600;line-height:1.5;color:var(--ink)}.rules-page .rules-ledger__copy p{max-width:660px;color:#6c6559;font-size:14px;line-height:1.85}.rules-page .rules-ledger__facts{display:flex;align-items:center;align-self:center;position:relative;z-index:1}.rules-page .rules-ledger__facts>div{flex:1;display:flex;flex-direction:column;min-width:0;padding:2px 18px;border-left:1px solid rgba(121,100,75,.18)}.rules-page .rules-ledger__facts>div:first-child{padding-left:0;border-left:0}.rules-page .rules-ledger__facts span{color:#817662;font-size:12px}.rules-page .rules-ledger__facts strong{margin:2px 0 1px;font-family:var(--font-num);font-size:24px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;color:var(--ink)}.rules-page .rules-ledger__facts strong.is-plus{color:var(--green)}.rules-page .rules-ledger__facts strong.is-minus{color:var(--terracotta)}.rules-page .rules-ledger__facts small{color:var(--muted);font-size:12px;line-height:1.55}.rules-page .rules-ledger__foot{grid-column:1 / -1;display:flex;align-items:center;gap:14px;padding-right:66px;position:relative;z-index:1}.rules-page .rules-ledger__foot .progress{flex:1;min-width:0}.rules-page .rules-ledger__foot>span{color:#7d7160;font-size:12px;white-space:nowrap}.rules-page .rules-ledger__foot strong{font-family:var(--font-num);font-weight:600;color:var(--ink)}.rules-page .rules-ledger__seal{position:absolute;right:27px;bottom:21px;width:47px;height:47px;display:grid;place-items:center;border:1px solid rgba(161,84,59,.3);border-radius:8px;color:#a1543b85;font-family:var(--font-serif);font-size:22px;transform:rotate(3deg)}.rules-page .rules-ledger__seal:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(161,84,59,.18);border-radius:5px}.rules-page .rules-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:13px}.rules-page .rules-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.rules-page .rules-filters button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 11px;border:1px solid transparent;border-radius:6px;color:var(--muted);font-size:13px;transition:color .18s,background .18s,border-color .18s}.rules-page .rules-filters button:hover{background:var(--surface-2);color:var(--ink)}.rules-page .rules-filters button.is-active{background:var(--green-deep);border-color:var(--green-deep);color:#f7efe1}.rules-page .rules-filters button>span{font-family:var(--font-num);font-size:12px;opacity:.72}.rules-page .rules-filters button.is-active>span{opacity:.8}.rules-page .rules-pending-toggle{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 11px;border:1px dashed var(--line-strong);border-radius:6px;color:var(--muted);font-size:12.5px;white-space:nowrap;transition:color .18s,background .18s,border-color .18s}.rules-page .rules-pending-toggle:hover{color:var(--ink);background:var(--surface-2)}.rules-page .rules-pending-toggle.is-active{border-color:#d9b8a9;background:#f8efe8;color:var(--terracotta)}.rules-page .rules-pending-toggle>span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:4px;background:var(--surface-3);font-family:var(--font-num);font-size:12px}.rules-page .rules-pending-toggle.is-active>span{background:#f0dfd4}.rules-page .rules-layout{display:grid;grid-template-columns:minmax(0,1fr) 328px;gap:20px;align-items:start}.rules-page .rules-main{min-width:0}.rules-page .rules-side{display:flex;flex-direction:column;gap:16px;min-width:0}.rules-page .rules-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 2px 10px;color:var(--muted);font-size:12px}.rules-page .rules-list-head>span:last-child{display:inline-flex;align-items:center;gap:5px}.rules-page .rules-list{display:flex;flex-direction:column;gap:16px}.rules-page .rules-empty{padding:10px}.rules-page .rule-card{display:grid;grid-template-columns:78px minmax(0,1fr);border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:3px 3px #78634b0b;overflow:hidden}.rules-page .rule-card__rail{display:flex;flex-direction:column;align-items:center;gap:7px;padding:21px 8px 16px;border-right:1px dashed #d8cdbb;text-align:center}.rules-page .rule-card__stamp{width:42px;height:42px;display:grid;place-items:center;border:1px solid currentColor;border-radius:7px;background:#fdfaf3b8;opacity:.9;transform:rotate(-2deg)}.rules-page .rule-card__cat{font-family:var(--font-serif);font-size:13px;font-weight:600;letter-spacing:.06em}.rules-page .rule-card__points{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:auto;padding-top:12px;border-top:1px solid rgba(120,99,75,.16);width:42px}.rules-page .rule-card__points small{font-size:12px;opacity:.8;line-height:1.5}.rules-page .rule-card__points strong{font-family:var(--font-num);font-size:19px;font-weight:600;line-height:1.25;color:var(--ink-2)}.rules-page .rule-card__body{min-width:0;padding:20px 24px 15px}.rules-page .rule-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rules-page .rule-card__title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}.rules-page .rule-card__title h3{font-family:var(--font-serif);font-size:22px;font-weight:600;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}.rules-page .rule-card__tools{display:flex;align-items:center;gap:2px;flex-shrink:0}.rules-page .rule-tool{width:32px;height:32px;display:grid;place-items:center;border-radius:6px;color:var(--muted);transition:color .18s,background .18s}.rules-page .rule-tool:hover{background:var(--surface-2);color:var(--green)}.rules-page .rule-tool--danger:hover{background:var(--terracotta-soft);color:var(--terracotta)}.rules-page .rule-card__content{max-width:68ch;margin:9px 0 0;color:var(--ink-2);font-size:15px;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}.rules-page .rule-card__sign{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;margin-top:17px;padding-top:13px;border-top:1px dashed #d9cdbb}.rules-page .rule-signatories{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}.rules-page .rule-signatories__count{color:var(--muted);font-size:12px}.rules-page .rule-signatories__empty{color:var(--muted);font-size:12px;padding:5px 0}.rules-page .rule-card__mine{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rules-page .rule-confirm{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 15px;border:1px solid #b9cbbf;border-radius:7px;background:var(--green-pale);color:var(--green-deep);font-size:13px;font-weight:600;white-space:nowrap;transition:background .18s,border-color .18s}.rules-page .rule-confirm:hover{background:var(--green-soft);border-color:#a3bcaa}.rules-page .rule-confirm svg{color:var(--green)}.rules-page .rule-signed{display:inline-flex;align-items:center;gap:5px;min-height:34px;color:var(--green);font-size:13px;font-weight:600}.rules-page .rule-undo{min-height:30px;padding:4px 7px;border-radius:5px;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px}.rules-page .rule-undo:hover{background:var(--surface-2);color:var(--terracotta)}.rules-page .rule-card__muted{color:var(--muted);font-size:12.5px}.rules-page .rule-card__meta{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;margin-top:11px;color:var(--muted);font-size:12px}.rules-page .rule-card__creator{display:inline-flex;align-items:center;gap:6px}.rules-page .rule-card__date{font-family:var(--font-num)}.rules-page .rule-card__await{margin-left:auto;padding:2px 7px;border:1px solid #e2d3c1;border-radius:4px;color:#8a6a52;font-size:12px;white-space:nowrap}.rules-page .rule-card.is-inactive{background:#faf7ef}.rules-page .rule-card.is-inactive .rule-card__rail{opacity:.62}.rules-page .rule-card.is-inactive .rule-card__title h3,.rules-page .rule-card.is-inactive .rule-card__content{color:var(--muted)}.rules-page .rules-rank,.rules-page .rules-logs{padding:22px 22px 17px}.rules-page .rules-note{padding:20px 22px}.rules-page .rules-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}.rules-page .rules-card-head h2{margin-top:3px;font-family:var(--font-serif);font-size:21px;font-weight:600;line-height:1.4;color:var(--ink)}.rules-page .rules-card-head__meta{color:var(--muted);font-size:12px;white-space:nowrap;padding-top:3px}.rules-page .rules-rank__list{list-style:none;display:flex;flex-direction:column}.rules-page .rules-rank__list>li{display:grid;grid-template-columns:18px 34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(222,214,199,.7)}.rules-page .rules-rank__list>li:last-child{border-bottom:0}.rules-page .rules-rank__list>li.is-current{margin:2px -8px;padding:9px 8px;border-radius:7px;background:#f5efe3}.rules-page .rules-rank__no{font-family:var(--font-serif);font-size:13px;color:var(--muted-2);text-align:center}.rules-page .rules-rank__list>li:nth-child(1) .rules-rank__no{color:var(--terracotta);font-size:15px}.rules-page .rules-rank__person{display:flex;flex-direction:column;min-width:0}.rules-page .rules-rank__person strong{display:flex;align-items:center;gap:5px;font-size:13.5px;font-weight:600;line-height:1.45;color:var(--ink)}.rules-page .rules-rank__person strong i{font-style:normal;font-size:12px;font-weight:500;color:var(--green);border:1px solid #cbdcd2;border-radius:4px;padding:0 4px;line-height:1.5}.rules-page .rules-rank__person>span{color:var(--muted);font-size:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rules-page .rules-rank__score{font-family:var(--font-num);font-size:19px;font-weight:600;line-height:1.2;color:var(--muted);white-space:nowrap}.rules-page .rules-rank__score small{margin-left:1px;font-family:var(--font-sans);font-size:12px;font-weight:400;color:var(--muted-2)}.rules-page .rules-rank__score.is-plus{color:var(--green)}.rules-page .rules-rank__score.is-minus{color:var(--terracotta)}.rules-page .rules-rank__note{margin-top:7px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}.rules-page .rules-add-line{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:4px 9px;border-radius:6px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:600;white-space:nowrap;transition:background .18s}.rules-page .rules-add-line:hover{background:#dce9e1}.rules-page .rules-log-list{list-style:none;display:flex;flex-direction:column}.rules-page .rules-log{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:9px;padding:12px 0;border-top:1px solid rgba(222,214,199,.75)}.rules-page .rules-log:first-child{border-top:0;padding-top:4px}.rules-page .rules-log>.avatar{margin-top:1px}.rules-page .rules-log__body{min-width:0}.rules-page .rules-log__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.rules-page .rules-log__head>strong{display:flex;align-items:center;gap:6px;min-width:0;font-size:13.5px;font-weight:600;color:var(--ink)}.rules-page .rules-log__type{flex-shrink:0;padding:0 5px;border-radius:3px;font-size:12px;font-weight:500;line-height:1.6}.rules-page .rules-log__type.is-reward{background:var(--green-soft);color:var(--green)}.rules-page .rules-log__type.is-penalty{background:var(--terracotta-soft);color:var(--terracotta)}.rules-page .rules-log__score{flex-shrink:0;font-family:var(--font-num);font-size:17px;font-weight:600;line-height:1.2;color:var(--muted)}.rules-page .rules-log__score.is-plus{color:var(--green)}.rules-page .rules-log__score.is-minus{color:var(--terracotta)}.rules-page .rules-log__reason{margin:3px 0 0;color:var(--ink-2);font-size:14px;line-height:1.65;overflow-wrap:anywhere}.rules-page .rules-log__foot{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap;margin-top:4px;color:var(--muted);font-size:12px}.rules-page .rules-log__rule{color:#6d6558;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rules-page .rules-log__date{font-family:var(--font-num)}.rules-page .rules-log__del{display:inline-flex;align-items:center;gap:3px;min-height:28px;margin-left:auto;padding:2px 4px;border-radius:4px;color:var(--muted-2);font-size:12px;transition:color .18s,background .18s}.rules-page .rules-log__del:hover{background:var(--terracotta-soft);color:var(--terracotta)}.rules-page .rules-show-all{width:100%;display:flex;align-items:center;justify-content:center;gap:4px;min-height:34px;margin-top:4px;padding:6px;border-top:1px solid var(--line);color:var(--green);font-size:12.5px}.rules-page .rules-show-all:hover{background:var(--green-pale)}.rules-page .rules-note{background:#f1e9dc;border-color:#e0d2bf}.rules-page .rules-note>svg{color:var(--gold)}.rules-page .rules-note h3{margin:8px 0 5px;font-family:var(--font-serif);font-size:17px;font-weight:600;color:var(--ink)}.rules-page .rules-note p{color:#6d6557;font-size:14px;line-height:1.8}.rules-page .rules-form{display:flex;flex-direction:column;gap:16px}.rules-page .rules-form>*{flex-shrink:0}.rules-page #rule-form .textarea{min-height:150px}.rules-page #rule-log-form .textarea{min-height:96px}.rules-page .rules-form-note{display:flex;align-items:flex-start;gap:8px;padding:11px 13px;border-left:3px solid #c7a87d;border-radius:0 6px 6px 0;background:var(--surface-2);color:#6b6356;font-size:13px;line-height:1.7}.rules-page .rules-form-note svg{flex-shrink:0;margin-top:2px;color:var(--gold)}.rules-page .rules-form-note p{margin:0}.rules-page .rules-points-input{display:flex;align-items:center;gap:6px;height:44px;padding:0 13px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);transition:border-color .18s,box-shadow .18s}.rules-page .rules-points-input:focus-within{border-color:#31584c8c;box-shadow:0 0 0 3px #31584c17}.rules-page .rules-points-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-family:var(--font-num);font-size:18px;font-weight:600;color:var(--ink)}.rules-page .rules-points-input span{color:var(--muted);font-size:13px}.rules-page .rules-form-error{display:flex;align-items:center;gap:6px;color:var(--terracotta);font-size:13px;line-height:1.6}.rules-page .rules-form-error svg{flex-shrink:0}.rules-page .rules-type-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rules-page .rules-type-picker button{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-align:left;color:var(--muted);transition:border-color .18s,background .18s}.rules-page .rules-type-picker button>svg{flex-shrink:0;margin-top:2px}.rules-page .rules-type-picker button>span{display:flex;flex-direction:column;min-width:0}.rules-page .rules-type-picker button strong{font-size:13.5px;font-weight:600;color:var(--ink-2);line-height:1.4}.rules-page .rules-type-picker button small{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.55}.rules-page .rules-type-picker button:hover{border-color:var(--line-strong)}.rules-page .rules-type-picker button.is-active{border-color:#b9cbbf;background:var(--green-pale)}.rules-page .rules-type-picker button.is-active>svg,.rules-page .rules-type-picker button.is-active strong{color:var(--green-deep)}.rules-page .rules-type-picker button.is-penalty.is-active{border-color:#dfc1b4;background:#faf1eb}.rules-page .rules-type-picker button.is-penalty.is-active>svg,.rules-page .rules-type-picker button.is-penalty.is-active strong{color:var(--terracotta)}.rules-page .rules-log-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface-2)}.rules-page .rules-log-preview>span{color:var(--muted);font-size:13px;line-height:1.6}.rules-page .rules-log-preview strong{font-family:var(--font-num);font-size:21px;font-weight:600;line-height:1.2;color:var(--green);white-space:nowrap}.rules-page .rules-log-preview strong small{margin-left:2px;font-family:var(--font-sans);font-size:12px;font-weight:400;color:var(--muted)}.rules-page .rules-log-preview.is-penalty strong{color:var(--terracotta)}.rules-page .empty-state p{font-size:14px}@media(max-width:1180px){.rules-page .rules-layout{grid-template-columns:1fr}.rules-page .rules-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.rules-page .rules-note{grid-column:1 / -1}}@media(max-width:900px){.rules-page .rules-ledger{grid-template-columns:1fr;gap:16px}.rules-page .rules-ledger__facts{padding-top:14px;border-top:1px solid rgba(121,100,75,.18)}.rules-page .rules-ledger__facts>div:first-child{padding-left:0;border-left:0}.rules-page .rules-ledger__foot{padding-right:0}.rules-page .rules-ledger__seal{display:none}.rules-page .rules-side{grid-template-columns:1fr}.rules-page .rules-note{grid-column:auto}}@media(max-width:780px){.rules-page .rules-ledger{padding:23px 20px 18px;box-shadow:4px 4px #a1543b0b}.rules-page .rules-ledger__copy h2{font-size:25px;line-height:1.5}.rules-page .rules-ledger__copy p{font-size:14px}.rules-page .rules-ledger__facts strong{font-size:21px}.rules-page .rules-ledger__facts>div{padding:2px 12px}.rules-page .rules-ledger__facts small{font-size:12px}.rules-page .rules-toolbar{align-items:flex-start}.rules-page .rules-filters{width:100%}.rules-page .rules-pending-toggle{align-self:flex-end}.rules-page .rules-list-head>span:last-child{display:none}.rules-page .rule-card{grid-template-columns:66px minmax(0,1fr)}.rules-page .rule-card__rail{padding:17px 6px 13px}.rules-page .rule-card__stamp{width:36px;height:36px;border-radius:6px}.rules-page .rule-card__cat{font-size:12px}.rules-page .rule-card__points{width:36px;padding-top:9px}.rules-page .rule-card__points strong{font-size:17px}.rules-page .rule-card__body{padding:16px 16px 13px}.rules-page .rule-card__title h3{font-size:20px}.rules-page .rule-card__content{font-size:14.5px;line-height:1.85}.rules-page .rule-card__sign{margin-top:14px;padding-top:11px}.rules-page .rules-rank,.rules-page .rules-logs{padding:19px 18px 14px}.rules-page .rules-note{padding:18px}}@media(max-width:520px){.rules-page .rules-ledger{padding:21px 17px 17px}.rules-page .rules-ledger__copy h2{font-size:23px}.rules-page .rules-ledger__facts>div{padding:2px 9px}.rules-page .rules-ledger__facts>div:first-child{padding-left:0}.rules-page .rules-ledger__facts strong{font-size:18px}.rules-page .rules-ledger__facts small{font-size:12px}.rules-page .rules-ledger__foot{flex-direction:column;align-items:flex-start;gap:7px}.rules-page .rules-ledger__foot .progress{width:100%}.rules-page .rules-filters{gap:2px}.rules-page .rules-filters button{padding:6px 8px;font-size:12.5px}.rules-page .rule-card{grid-template-columns:1fr}.rules-page .rule-card__rail{flex-direction:row;align-items:center;gap:7px;padding:9px 13px;border-right:0;border-bottom:1px dashed #d8cdbb;text-align:left}.rules-page .rule-card__stamp{width:27px;height:27px;border-radius:5px}.rules-page .rule-card__stamp svg{width:15px;height:15px}.rules-page .rule-card__cat{font-size:12.5px}.rules-page .rule-card__points{flex-direction:row;align-items:baseline;gap:2px;width:auto;margin-top:0;margin-left:auto;padding-top:0;border-top:0}.rules-page .rule-card__points small:first-child{display:none}.rules-page .rule-card__points strong{font-size:17px}.rules-page .rule-card__body{padding:14px 14px 12px}.rules-page .rule-card__title{gap:7px}.rules-page .rule-card__title h3{font-size:19px}.rules-page .rule-card__content{margin-top:7px;font-size:14px}.rules-page .rule-card__sign{flex-direction:column;align-items:stretch;gap:10px}.rules-page .rule-card__mine{justify-content:space-between}.rules-page .rule-confirm{flex:1;width:100%}.rules-page .rule-signed{flex:1}.rules-page .rule-card__meta{gap:4px 10px}.rules-page .rule-card__await{margin-left:0}.rules-page .rules-rank,.rules-page .rules-logs{padding:18px 15px 13px}.rules-page .rules-log__head>strong{font-size:13px}.rules-page .rules-rank__person>span{white-space:normal}.rules-page .rules-type-picker{grid-template-columns:1fr}.rules-page .rules-log-preview{align-items:flex-start;flex-direction:column;gap:5px}}.stories-page{--stories-paper: #fdfaf3;--stories-paper-deep: #f1e9db;--stories-paper-soft: #f8f2e7;--stories-rule: #e3dbcd;--stories-rule-strong: #d3c7b5;--stories-soft-ink: #6f675a}.stories-page .story-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);margin-bottom:20px;background:var(--stories-paper-deep);border:1px solid #d8cbb9;border-radius:var(--radius);box-shadow:5px 5px #a1543b0d;overflow:hidden}.stories-page .story-hero:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(161,84,59,.1);border-radius:9px;pointer-events:none;z-index:2}.stories-page .story-hero__motto{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;padding:31px 34px 25px;border-right:1px solid #d8cbb9;min-width:0}.stories-page .story-hero__motto blockquote{display:flex;flex-direction:column;gap:1px;margin:15px 0 12px}.stories-page .story-hero__motto blockquote p{font-family:var(--font-serif);font-size:clamp(28px,2.7vw,38px);font-weight:600;line-height:1.4;letter-spacing:.045em;color:var(--green-deep);overflow-wrap:anywhere}.stories-page .story-hero__intro{max-width:416px;color:var(--stories-soft-ink);font-size:14.5px;line-height:1.8}.stories-page .story-hero__meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:20px;padding-right:56px;color:var(--muted);font-size:12.5px;line-height:1.6}.stories-page .story-hero__meta i{width:3px;height:3px;border-radius:50%;background:#b6a992}.stories-page .story-hero__seal{position:absolute;right:24px;bottom:22px;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(161,84,59,.42);border-radius:4px;background:#fdfaf38c;color:var(--terracotta);font-family:var(--font-serif);font-size:21px;line-height:1;transform:rotate(-2deg)}.stories-page .story-hero__seal:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid rgba(161,84,59,.22);border-radius:2px}.stories-page .story-hero__feature{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:30px 32px 24px;background:#fbf7ed;text-align:left;cursor:pointer;transition:background .18s ease}.stories-page .story-hero__feature:hover{background:#fffdf8}.stories-page .story-hero__feature:focus-visible{outline:2px solid rgba(65,95,80,.38);outline-offset:-4px}.stories-page .story-hero__feature-label{display:inline-flex;align-items:center;gap:5px;color:var(--terracotta);font-size:12px;line-height:1.5;letter-spacing:.08em}.stories-page .story-hero__feature-date{margin-top:11px;color:var(--muted);font-size:12.5px;line-height:1.6}.stories-page .story-hero__feature-title{margin-top:7px;color:var(--ink);font-family:var(--font-serif);font-size:clamp(22px,2.1vw,27px);font-weight:600;line-height:1.42;overflow-wrap:anywhere}.stories-page .story-hero__feature-excerpt{margin-top:9px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--stories-soft-ink);font-size:14.5px;line-height:1.8}.stories-page .story-hero__feature-foot{display:flex;align-items:center;gap:9px;flex-wrap:wrap;width:100%;margin-top:auto;padding-top:18px}.stories-page .story-hero__feature-by{color:var(--muted);font-size:12.5px}.stories-page .story-hero__feature-read{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--green);font-size:13px;font-weight:600}.stories-page .story-hero__feature:hover .story-hero__feature-read{color:var(--terracotta)}.stories-page .story-hero__feature--empty{justify-content:center;cursor:default;background:#faf6ec}.stories-page .story-hero__feature--empty h2{margin:10px 0 8px;font-family:var(--font-serif);font-size:25px;font-weight:600;line-height:1.45;color:var(--ink)}.stories-page .story-hero__feature--empty p{margin-bottom:18px;max-width:390px;color:var(--stories-soft-ink);font-size:14.5px;line-height:1.8}.stories-page .story-toolbar{margin-bottom:24px;padding:17px 22px 15px;background:var(--stories-paper);border:1px solid var(--line);border-radius:var(--radius-md)}.stories-page .story-toolbar__top{display:flex;align-items:center;gap:16px}.stories-page .story-search{display:flex;align-items:center;gap:9px;flex:1 1 280px;max-width:440px;height:42px;padding:0 13px;background:#fbf8f1;border:1px solid var(--line-strong);border-radius:8px;color:var(--muted);transition:border-color .18s ease,box-shadow .18s ease}.stories-page .story-search:focus-within{border-color:#9fb0a2;box-shadow:0 0 0 3px #415f5014}.stories-page .story-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--ink);font-size:14.5px}.stories-page .story-search input::placeholder{color:#8f887a}.stories-page .story-search>button{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--muted)}.stories-page .story-search>button:hover{background:var(--surface-3);color:var(--ink)}.stories-page .story-toolbar__hint{margin-left:auto;color:var(--muted);font-size:12.5px;white-space:nowrap}.stories-page .story-filter-row{display:flex;align-items:flex-start;gap:14px;margin-top:13px}.stories-page .story-filter-row+.story-filter-row{margin-top:10px;padding-top:10px;border-top:1px dashed #e8e0d2}.stories-page .story-filter-label{flex:0 0 34px;padding-top:8px;color:var(--muted);font-size:12.5px;line-height:1.4;letter-spacing:.06em}.stories-page .story-chips{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.stories-page .story-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:#fbf8f1;border:1px solid var(--stories-rule);border-radius:6px;color:var(--ink-2);font-size:13px;line-height:1;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease}.stories-page .story-chip:hover{background:#fffdf7;border-color:#c3b5a0}.stories-page .story-chip.is-active{background:#e9efe9;border-color:#a9b9ab;color:#2f4d40;font-weight:600}.stories-page .story-chip__count{color:var(--muted);font-size:12px;font-weight:500}.stories-page .story-chip.is-active .story-chip__count{color:#55705f}.stories-page .story-chip--member{padding-left:6px}.stories-page .story-chip--member .avatar{border-color:transparent}.stories-page .story-toolbar__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding-top:10px;border-top:1px dashed #e8e0d2;color:var(--muted);font-size:12.5px}.stories-page .story-clear{color:var(--terracotta);font-size:12.5px;font-weight:600;border-bottom:1px solid rgba(161,84,59,.28)}.stories-page .story-clear:hover{border-bottom-color:var(--terracotta)}.stories-page .stories-layout{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:26px;align-items:start}.stories-page .stories-timeline{min-width:0}.stories-page .story-timeline-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid var(--line-strong)}.stories-page .story-timeline-head h2{margin-top:4px;font-family:var(--font-serif);font-size:24px;font-weight:600;line-height:1.4;color:var(--ink)}.stories-page .story-timeline-head__meta{padding-bottom:3px;color:var(--muted);font-size:12.5px;white-space:nowrap}.stories-page .story-year__head{display:flex;align-items:center;gap:12px;margin:24px 0 14px}.stories-page .story-year__year{color:var(--green-deep);font-family:var(--font-serif);font-size:31px;font-weight:600;line-height:1;letter-spacing:.02em}.stories-page .story-year__year small{margin-left:3px;color:var(--muted);font-family:var(--font-sans);font-size:12px;font-weight:500}.stories-page .story-year__rule{flex:1;height:1px;background:var(--stories-rule)}.stories-page .story-year__count{color:var(--muted);font-size:12px;white-space:nowrap}.stories-page .story-year__items{display:flex;flex-direction:column;gap:18px}.stories-page .story-entry{display:grid;grid-template-columns:52px 24px minmax(0,1fr);align-items:stretch}.stories-page .story-entry__date{display:flex;flex-direction:column;align-items:flex-end;padding:16px 8px 0 0}.stories-page .story-entry__date strong{color:var(--ink-2);font-family:var(--font-serif);font-size:21px;font-weight:600;line-height:1.15}.stories-page .story-entry__date span{margin-top:1px;color:var(--muted);font-size:12px}.stories-page .story-entry__rail{position:relative;display:flex;justify-content:center;align-self:stretch}.stories-page .story-entry__rail:before{content:"";position:absolute;top:0;bottom:-18px;left:50%;width:1px;background:var(--stories-rule)}.stories-page .story-year__items .story-entry:last-child .story-entry__rail:before{bottom:0}.stories-page .story-entry__rail i{position:relative;z-index:1;width:8px;height:8px;margin-top:25px;border:1px solid #b1a38d;border-radius:50%;background:var(--stories-paper);box-shadow:0 0 0 3px var(--bg)}.stories-page .story-entry.is-featured .story-entry__rail i{border-color:var(--terracotta);background:var(--terracotta)}.stories-page .story-card{min-width:0;padding:17px 21px 14px;background:var(--stories-paper);border:1px solid var(--stories-rule);border-radius:9px;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.stories-page .story-card:hover{background:#fffdf7;border-color:#bcae99;transform:translate(2px)}.stories-page .story-card:focus-visible{outline:2px solid rgba(65,95,80,.35);outline-offset:2px}.stories-page .story-entry.is-featured .story-card{background:#fdf9f0;border-color:#d3c0ad}.stories-page .story-card__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stories-page .story-card__head .badge{gap:4px}.stories-page .story-card__pin{display:inline-flex;align-items:center;gap:3px;color:var(--gold);font-size:12px}.stories-page .story-card__date{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.stories-page .story-card h3{margin:9px 0 6px;color:var(--ink);font-family:var(--font-serif);font-size:20.5px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.stories-page .story-card>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-2);font-size:14.5px;line-height:1.78}.stories-page .story-card__tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.stories-page .story-card__tags span{color:var(--muted);font-size:12px}.stories-page .story-card__tags span:before{content:"#";margin-right:1px;color:#b3a58f}.stories-page .story-card__foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px;padding-top:11px;border-top:1px dashed #e5ddcf}.stories-page .story-card__by{color:var(--muted);font-size:12.5px}.stories-page .story-card__people{color:var(--muted);font-size:12px}.stories-page .story-card__open{display:inline-flex;align-items:center;gap:3px;margin-left:auto;color:var(--green);font-size:12.5px;font-weight:600}.stories-page .story-card:hover .story-card__open{color:var(--terracotta)}.stories-page .story-empty-card{margin-top:20px;padding:14px}.stories-page .stories-side{display:flex;flex-direction:column;gap:16px;min-width:0}.stories-page .story-side-card{padding:22px 22px 18px;border-radius:var(--radius-md)}.stories-page .story-side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.stories-page .story-side-head h2{margin-top:4px;font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.4;color:var(--ink)}.stories-page .story-side-head>svg{margin-top:5px;color:var(--gold);flex-shrink:0}.stories-page .story-milestone-list{list-style:none;margin:12px 0 0;padding:0}.stories-page .story-milestone-list li+li{border-top:1px dashed #e5ddcf}.stories-page .story-milestone-list button{display:flex;flex-direction:column;gap:3px;width:100%;padding:11px 0;text-align:left}.stories-page .story-milestone__date{color:var(--muted);font-size:12px;line-height:1.5}.stories-page .story-milestone-list strong{color:var(--ink);font-family:var(--font-serif);font-size:15.5px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.stories-page .story-milestone-list button:hover strong{color:var(--terracotta)}.stories-page .story-side-link{display:inline-flex;align-items:center;gap:3px;margin-top:8px;color:var(--green);font-size:12.5px;font-weight:600}.stories-page .story-side-link:hover{color:var(--terracotta)}.stories-page .story-member-list{display:flex;flex-direction:column;gap:3px;margin-top:11px}.stories-page .story-member-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border-radius:6px;text-align:left}.stories-page .story-member-row:hover{background:var(--surface-2)}.stories-page .story-member-row.is-active{background:var(--green-soft)}.stories-page .story-member-row__copy{display:flex;flex-direction:column;min-width:0}.stories-page .story-member-row__copy strong{color:var(--ink);font-size:14px;font-weight:600;line-height:1.5}.stories-page .story-member-row__copy small{color:var(--muted);font-size:12px;line-height:1.5}.stories-page .story-member-row__count{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.stories-page .story-side-note{margin-top:10px;padding-top:10px;border-top:1px dashed #e5ddcf;color:var(--muted);font-size:12px;line-height:1.7}.stories-page .story-side-empty{margin:13px 0 3px;color:var(--muted);font-size:13px;line-height:1.75}.stories-page .story-prompts{background:var(--stories-paper-soft);border-style:dashed}.stories-page .story-prompt-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin:12px 0 16px;padding:0}.stories-page .story-prompt-list li{position:relative;padding-left:14px;color:var(--ink-2);font-size:13.5px;line-height:1.65}.stories-page .story-prompt-list li:before{content:"·";position:absolute;left:2px;color:var(--terracotta)}.stories-page .story-side-write{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;background:var(--stories-paper);border:1px solid #c6b8a4;border-radius:7px;color:var(--green-deep);font-size:13px;font-weight:600}.stories-page .story-side-write:hover{border-color:var(--terracotta);color:var(--terracotta)}.story-detail{--stories-paper: #fdfaf3;--stories-rule: #e3dbcd}.story-detail__meta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}.story-detail__author{display:flex;align-items:center;gap:11px;min-width:0}.story-detail__author>div{display:flex;flex-direction:column;min-width:0}.story-detail__author strong{color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.5}.story-detail__author>div>span{margin-top:1px;color:var(--muted);font-size:12px;line-height:1.5}.story-detail__date{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}.story-detail__badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.story-detail__title{margin:12px 0 0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(25px,2.2vw,31px);font-weight:600;line-height:1.42;overflow-wrap:anywhere}.story-detail__tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:11px}.story-detail__tags span{color:var(--muted);font-size:12px}.story-detail__tags span:before{content:"#";margin-right:1px;color:#b3a58f}.story-detail__body{margin-top:22px;padding:20px 22px;background:var(--stories-paper);border:1px solid var(--stories-rule);border-radius:8px}.story-detail__body p{color:var(--ink-2);font-size:15.5px;line-height:2;overflow-wrap:anywhere}.story-detail__body p+p{margin-top:14px}.story-detail__body p.is-muted{color:var(--muted);font-size:14px}.story-detail__members{margin-top:22px;padding-top:18px;border-top:1px dashed var(--stories-rule)}.story-detail__members ul{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 0;padding:0}.story-detail__members li{display:flex;align-items:center;gap:8px;padding:6px 11px 6px 6px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px}.story-detail__members li>div{display:flex;flex-direction:column}.story-detail__members strong{color:var(--ink);font-size:13px;font-weight:600;line-height:1.5}.story-detail__members li>div span{color:var(--muted);font-size:12px;line-height:1.5}.story-detail__members>p{margin-top:10px;color:var(--muted);font-size:13px}.story-detail__note{display:flex;align-items:flex-start;gap:7px;margin-top:20px;color:var(--muted);font-size:12px;line-height:1.7}.story-detail__note svg{margin-top:1px;flex-shrink:0}.stories-modal .story-form{display:flex;flex-direction:column;gap:16px}.stories-modal .story-type-picker{display:flex;flex-wrap:wrap;gap:7px}.stories-modal .story-type-option{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;color:var(--ink-2);font-size:13px;line-height:1}.stories-modal .story-type-option:hover{border-color:#c3b5a0}.stories-modal .story-type-option.is-active{background:var(--green-soft);border-color:#a9b9ab;color:var(--green-deep);font-weight:600}.stories-modal .story-form__count{margin-top:5px;text-align:right;color:var(--muted);font-size:12px}.stories-modal .story-member-picker{display:flex;flex-wrap:wrap;gap:7px}.stories-modal .story-pick{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 11px 0 7px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;color:var(--ink-2);font-size:13px;line-height:1}.stories-modal .story-pick:hover{border-color:#c3b5a0}.stories-modal .story-pick.is-active{background:var(--green-soft);border-color:#a9b9ab;color:var(--green-deep)}.stories-modal .story-pick .avatar{border-color:transparent}.stories-modal .story-pick>svg{color:var(--green)}.stories-modal .story-pick--all{padding:0 13px;color:var(--muted)}.stories-modal .story-feature-toggle{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;background:var(--surface-2);border:1px dashed #d6c9b6;border-radius:8px;cursor:pointer}.stories-modal .story-feature-toggle input{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--terracotta)}.stories-modal .story-feature-toggle>span{display:flex;flex-direction:column;gap:2px}.stories-modal .story-feature-toggle strong{color:var(--ink-2);font-size:13.5px;font-weight:600;line-height:1.5}.stories-modal .story-feature-toggle small{color:var(--muted);font-size:12.5px;line-height:1.65}.stories-modal .btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1180px){.stories-page .stories-layout{grid-template-columns:minmax(0,1fr)}.stories-page .stories-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.stories-page .story-side-card{height:100%}}@media(max-width:980px){.stories-page .story-hero{grid-template-columns:minmax(0,1fr)}.stories-page .story-hero__motto{border-right:0;border-bottom:1px solid #d8cbb9}.stories-page .story-hero__meta{padding-top:16px}.stories-page .story-hero__feature{min-height:208px}.stories-page .story-hero__feature-foot{margin-top:16px}}@media(max-width:900px){.stories-page .stories-side{grid-template-columns:repeat(2,minmax(0,1fr))}.stories-page .story-side-card:last-child{grid-column:1 / -1}}@media(max-width:780px){.stories-page .story-hero__motto{padding:25px 23px 22px}.stories-page .story-hero__feature{padding:24px 23px 21px}.stories-page .story-hero__feature-excerpt{-webkit-line-clamp:4}.stories-page .story-toolbar{padding:15px 16px 13px}.stories-page .story-toolbar__hint{display:none}.stories-page .story-search{max-width:none}.stories-page .story-filter-row{gap:10px}.stories-page .story-filter-label{flex-basis:32px}.stories-page .story-timeline-head h2{font-size:21px}.stories-page .story-card{padding:15px 17px 13px}.stories-page .story-card h3{font-size:19.5px}.stories-page .story-card>p{font-size:14px}.stories-page .story-side-card{padding:19px 18px 16px}}@media(max-width:640px){.stories-page .story-entry{grid-template-columns:minmax(0,1fr)}.stories-page .story-entry__date,.stories-page .story-entry__rail{display:none}.stories-page .story-year__head{margin:20px 0 12px}.stories-page .story-year__year{font-size:27px}.stories-page .stories-side{grid-template-columns:minmax(0,1fr)}.stories-page .story-side-card:last-child{grid-column:auto}.stories-page .story-hero__seal{display:none}.stories-page .story-hero__meta{padding-right:0}.stories-page .story-hero__motto blockquote p{font-size:clamp(26px,8vw,32px)}.stories-page .story-hero__feature-title{font-size:22px}.stories-page .story-card__date{margin-left:0}.stories-page .story-card__open{margin-left:auto}.stories-page .story-detail__body{padding:17px}.stories-page .story-detail__body p{font-size:15px;line-height:1.95}.story-detail__title{font-size:24px}}@media(max-width:520px){.stories-page .story-hero__motto{padding:22px 19px 20px}.stories-page .story-hero__feature{padding:21px 19px 19px}.stories-page .story-hero__intro{font-size:14px}.stories-page .story-toolbar{padding:13px 14px 12px}.stories-page .story-filter-row{flex-direction:column;gap:7px}.stories-page .story-filter-label{padding-top:0;flex-basis:auto}.stories-page .story-card{padding:14px 15px 12px}.stories-page .story-card h3{font-size:19px}.stories-page .story-card__people{display:none}.stories-page .story-timeline-head h2{font-size:20px}.stories-page .story-side-card{padding:18px 16px 15px}.story-detail__meta{align-items:flex-start}.story-detail__body{padding:16px}}.education-page{--edu-paper: #fdfaf3;--edu-paper-warm: #f6f0e4;--edu-rule: #e4dccd;--edu-rule-strong: #d6c9b7;--edu-ink-soft: #6f675a;min-width:0}.education-page .page-head__copy p{font-size:15px;line-height:1.75;max-width:640px}.education-page .edu-note{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px 34px;padding:26px 32px 24px;margin-bottom:30px;background:var(--edu-paper-warm);border:1px solid #d9ccb8;border-left:4px solid #c8b096;border-radius:var(--radius);box-shadow:5px 5px #415f500b;overflow:hidden}.education-page .edu-note__copy{position:relative;z-index:1;min-width:0}.education-page .edu-note__copy h2{font-family:var(--font-serif);font-size:clamp(22px,2.1vw,28px);font-weight:600;line-height:1.5;margin:6px 0 8px;overflow-wrap:anywhere}.education-page .edu-note__copy p{margin:0;max-width:620px;font-size:14px;line-height:1.8;color:var(--edu-ink-soft)}.education-page .edu-note__facts{position:relative;z-index:1;display:flex;margin:0}.education-page .edu-note__facts>div{min-width:86px;padding:2px 20px;border-left:1px dashed #d3c4ae;text-align:left}.education-page .edu-note__facts>div:first-child{border-left:0;padding-left:0}.education-page .edu-note__facts>div:last-child{padding-right:0}.education-page .edu-note__facts dt{font-size:12px;line-height:1.6;color:var(--muted);letter-spacing:.05em;white-space:nowrap}.education-page .edu-note__facts dd{margin:3px 0 0;font-family:var(--font-serif);font-size:25px;font-weight:600;line-height:1.25;color:var(--ink)}.education-page .edu-note__facts dd small{margin-left:3px;font-family:var(--font-sans);font-size:12px;font-weight:500;color:var(--muted)}.education-page .edu-note__kicker{display:flex;align-items:center;gap:9px}.education-page .edu-note__seal{width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;font-family:var(--font-serif);font-size:15px;line-height:1;color:#a1543bb8;border:1px solid rgba(161,84,59,.32);border-radius:4px;transform:rotate(-5deg);-webkit-user-select:none;user-select:none}.education-page .edu-children-section{margin-bottom:30px}.education-page .edu-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:15px}.education-page .edu-section-head h2,.education-page .edu-goals__head h2{font-family:var(--font-serif);font-weight:600;line-height:1.4;margin-top:3px}.education-page .edu-section-head h2{font-size:23px}.education-page .edu-text-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;font-size:13px;font-weight:600;line-height:1.5;color:var(--green);background:var(--green-soft);border-radius:7px;white-space:nowrap;transition:background .18s,color .18s}.education-page .edu-text-btn:hover{background:#dce8df;color:var(--green-deep)}.education-page .edu-text-btn--solid{color:#fbf7ee;background:var(--green-deep)}.education-page .edu-text-btn--solid:hover{color:#fffaf1;background:#223d31}.education-page .edu-text-btn--solid:disabled{color:#f2ece0;background:#9aa79f;cursor:default}.education-page .edu-icon-btn{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;color:var(--muted);background:transparent;border:1px solid var(--edu-rule);border-radius:8px;transition:background .18s,color .18s,border-color .18s}.education-page .edu-icon-btn:hover{color:var(--ink);background:var(--surface-2);border-color:var(--line-strong)}.education-page .edu-children{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.education-page .edu-child{position:relative;display:flex;flex-direction:column;padding:22px 24px 17px;background:var(--edu-paper);border-radius:14px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.education-page .edu-child:before{content:"";position:absolute;top:0;left:24px;width:46px;height:3px;background:var(--child-accent, var(--green));border-radius:0 0 3px 3px}.education-page .edu-child.is-active{border-color:var(--child-accent, var(--line-strong));box-shadow:0 6px 20px -18px #36302673}.education-page .edu-child__head{display:flex;align-items:center;gap:13px}.education-page .edu-child__head .avatar{border-color:#fffdf8;box-shadow:0 0 0 1px #292a2412}.education-page .edu-child__id{flex:1;min-width:0}.education-page .edu-child__id h3{font-family:var(--font-serif);font-size:23px;font-weight:600;line-height:1.3}.education-page .edu-child__id p{margin:2px 0 0;font-size:12.5px;line-height:1.6;color:var(--muted)}.education-page .edu-child__school{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:15px;padding:9px 11px;font-size:12.5px;line-height:1.6;color:var(--green);background:#f4efe3;border:1px dashed #e0d5c4;border-radius:8px}.education-page .edu-child__school svg{flex-shrink:0;opacity:.85}.education-page .edu-child__school strong{font-size:14px;font-weight:600;color:var(--ink-2)}.education-page .edu-child__school span{font-size:12.5px;color:var(--muted)}.education-page .edu-child__school span:before{content:"·";margin-right:4px;color:var(--muted-2)}.education-page .edu-child__traits{margin:12px 0 14px}.education-page .edu-child__traits>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px dashed var(--edu-rule)}.education-page .edu-child__traits>div:first-child{border-top:0}.education-page .edu-child__traits dt{font-size:12px;line-height:1.9;color:var(--muted);letter-spacing:.08em}.education-page .edu-child__traits dd{margin:0;font-size:14px;line-height:1.7;color:var(--ink-2);overflow-wrap:anywhere}.education-page .edu-child__note{display:flex;align-items:flex-start;gap:7px;margin:0 0 14px;padding:10px 12px;font-size:14px;line-height:1.7;color:var(--edu-ink-soft);background:#f5efe3;border-radius:8px;overflow-wrap:anywhere}.education-page .edu-child__note svg{flex-shrink:0;margin-top:3px;color:var(--gold)}.education-page .edu-child__foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:11px;font-size:12.5px;line-height:1.6;color:var(--muted);border-top:1px solid var(--edu-rule)}.education-page .edu-child__link{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:2px;font-size:13px;font-weight:600;color:var(--green);white-space:nowrap}.education-page .edu-child__link:hover{color:var(--green-deep)}.education-page .edu-child__link svg{transition:transform .18s}.education-page .edu-child__link:hover svg{transform:translate(2px)}.education-page .edu-body{display:grid;grid-template-columns:minmax(0,1fr) 332px;align-items:start;gap:22px}.education-page .edu-goals{min-width:0}.education-page .edu-goals__head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.education-page .edu-goals__head h2{font-size:25px}.education-page .edu-goals__empty .empty-state{padding:44px 20px}.education-page .edu-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:13px 0 16px}.education-page .edu-filter{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:4px 12px;font-size:13px;font-weight:600;line-height:1.5;color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;transition:background .18s,color .18s,border-color .18s}.education-page .edu-filter:hover{color:var(--ink);border-color:#bdb3a1}.education-page .edu-filter.is-active{color:var(--green-deep);background:#ece4d6;border-color:#c2b39b}.education-page .edu-filter .avatar{border-width:1px;border-color:#fffdf8}.education-page .edu-filter__count{min-width:20px;height:20px;padding:0 5px;display:inline-grid;place-items:center;font-size:12px;font-weight:600;color:var(--muted);background:#292a240f;border-radius:6px}.education-page .edu-filter.is-active .edu-filter__count{color:var(--green-deep);background:#31584c1f}.education-page .edu-goal-list{display:flex;flex-direction:column;gap:16px}.education-page .edu-goal{position:relative;padding:21px 24px 19px;background:var(--edu-paper);transition:border-color .2s,box-shadow .2s}.education-page .edu-goal.is-focused{border-color:#bfae94;box-shadow:0 0 0 2px #bfae9447,5px 5px #a1543b0d}.education-page .edu-goal__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.education-page .edu-goal__who{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.education-page .edu-goal__who .avatar{border-width:1px;border-color:#fffdf8}.education-page .edu-goal__name{font-size:13px;font-weight:600;color:var(--ink-2)}.education-page .edu-cat{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;font-size:12px;font-weight:600;line-height:1.6;white-space:nowrap;border-radius:5px}.education-page .edu-cat--blue{color:var(--blue);background:var(--blue-soft)}.education-page .edu-cat--rose{color:var(--rose);background:var(--rose-soft)}.education-page .edu-cat--green{color:var(--green);background:var(--green-soft)}.education-page .edu-cat--gold{color:#8f693a;background:var(--gold-soft)}.education-page .edu-cat--plum{color:var(--plum);background:var(--plum-soft)}.education-page .edu-cat--neutral{color:#777467;background:var(--neutral-soft)}.education-page .edu-goal__tools{display:flex;align-items:center;gap:2px;flex-shrink:0}.education-page .edu-goal__tools button{width:30px;height:30px;display:grid;place-items:center;color:#a29a8c;border-radius:6px;transition:background .18s,color .18s}.education-page .edu-goal__tools button:hover{color:var(--ink);background:var(--surface-2)}.education-page .edu-goal__tools button:last-child:hover{color:var(--terracotta);background:var(--terracotta-soft)}.education-page .edu-goal__title{margin:11px 0 0;font-family:var(--font-serif);font-size:22px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.education-page .edu-goal__desc{margin:6px 0 0;font-size:14px;line-height:1.8;color:var(--edu-ink-soft);overflow-wrap:anywhere}.education-page .edu-goal__meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:12.5px;line-height:1.6;color:var(--muted)}.education-page .edu-goal__meta>span{display:inline-flex;align-items:center;gap:4px}.education-page .edu-goal__meta svg{opacity:.75}.education-page .edu-goal__meta .is-overdue{color:var(--terracotta);font-weight:600}.education-page .edu-goal__progress{margin-top:13px;padding:11px 14px 12px;background:var(--surface-2);border:1px solid #e9e0d1;border-radius:9px}.education-page .edu-goal__progress-top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-bottom:7px;font-size:12.5px;line-height:1.6;color:var(--muted)}.education-page .edu-goal__progress-top strong{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--ink)}.education-page .edu-task-list{list-style:none;margin:12px 0 0;padding:0}.education-page .edu-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto 26px;align-items:center;gap:9px;padding:8px 0;border-bottom:1px dashed var(--edu-rule)}.education-page .edu-task__check{position:relative;width:22px;height:22px;display:grid;place-items:center;flex-shrink:0;color:transparent;background:var(--edu-paper);border:1px solid #c9c0af;border-radius:50%;transition:background .18s,border-color .18s,color .18s}.education-page .edu-task__check:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%}.education-page .edu-task__check:hover{background:var(--green-pale);border-color:var(--green)}.education-page .edu-task__check[aria-pressed=true]{color:#fdfaf3;background:var(--green);border-color:var(--green)}.education-page .edu-task__title{min-width:0;font-size:14px;line-height:1.65;color:var(--ink-2);overflow-wrap:anywhere;transition:color .18s}.education-page .edu-task.is-done .edu-task__title{color:var(--muted-2);text-decoration:line-through;text-decoration-color:#c9c0af;text-decoration-thickness:1px}.education-page .edu-task__due{font-size:12px;line-height:1.5;color:var(--muted);white-space:nowrap}.education-page .edu-task__due.is-overdue{color:var(--terracotta);font-weight:600}.education-page .edu-task__remove{position:relative;width:24px;height:24px;display:grid;place-items:center;color:#b5aea1;border-radius:5px;opacity:.5;transition:opacity .18s,background .18s,color .18s}.education-page .edu-task__remove:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:8px}.education-page .edu-task__remove:hover,.education-page .edu-task__remove:focus-visible{color:var(--terracotta);background:var(--terracotta-soft);opacity:1}.education-page .edu-task-empty{padding:10px 0 4px;font-size:13px;line-height:1.75;color:var(--muted)}.education-page .edu-add-task{display:inline-flex;align-items:center;gap:5px;min-height:34px;margin-top:10px;padding:4px 10px;font-size:13px;font-weight:600;color:var(--green);background:var(--green-pale);border-radius:6px;transition:background .18s,color .18s}.education-page .edu-add-task:hover{color:var(--green-deep);background:#e4eee6}.education-page .edu-task__check:focus-visible,.education-page .edu-task__remove:focus-visible,.education-page .edu-goal__tools button:focus-visible,.education-page .edu-icon-btn:focus-visible,.education-page .edu-add-task:focus-visible,.education-page .edu-child__link:focus-visible,.education-page .edu-filter:focus-visible,.education-page .edu-text-btn:focus-visible{outline:2px solid rgba(65,95,80,.45);outline-offset:2px}.education-page .edu-task-form{display:grid;grid-template-columns:minmax(0,1fr) 148px auto;align-items:center;gap:8px;margin-top:12px;padding:12px;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:9px}.education-page .edu-field-input{width:100%;min-width:0;height:38px;padding:0 10px;font-family:var(--font-sans);font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:7px;transition:border-color .18s,box-shadow .18s}.education-page .edu-field-input::placeholder{color:#b0aa9e}.education-page .edu-field-input:focus{outline:none;border-color:#31584c8c;box-shadow:0 0 0 3px #31584c14}.education-page .edu-task-form__actions{display:flex;align-items:center;gap:4px}.education-page .edu-task-form__actions .edu-text-btn{min-height:38px;padding:4px 10px}.education-page .edu-side{position:sticky;top:92px;display:flex;flex-direction:column;gap:16px;align-self:start;min-width:0}.education-page .edu-todo-card,.education-page .edu-done-card,.education-page .edu-quote-card{padding:21px 22px 18px;background:var(--edu-paper)}.education-page .edu-side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid var(--edu-rule)}.education-page .edu-side-head h2{margin-top:2px;font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.42}.education-page .edu-side-count{min-width:27px;height:27px;padding:0 7px;display:grid;place-items:center;font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--green-deep);background:var(--green-soft);border-radius:7px}.education-page .edu-todo-list,.education-page .edu-done-list{list-style:none;margin:2px 0 0;padding:0}.education-page .edu-todo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:9px;padding:11px 0;border-bottom:1px dashed var(--edu-rule)}.education-page .edu-todo .edu-task__check{margin-top:1px;width:21px;height:21px}.education-page .edu-todo__body{min-width:0}.education-page .edu-todo__body strong{display:block;font-size:14px;font-weight:600;line-height:1.6;color:var(--ink-2);overflow-wrap:anywhere}.education-page .edu-todo__goal{display:block;width:100%;margin-top:1px;font-size:12px;line-height:1.55;color:var(--muted);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .18s}.education-page .edu-todo__goal:hover{color:var(--green)}.education-page .edu-todo__due{padding-top:2px;font-size:12px;line-height:1.5;color:var(--muted);white-space:nowrap}.education-page .edu-todo__due.is-soon{color:#8f693a;font-weight:600}.education-page .edu-todo__due.is-overdue{color:var(--terracotta);font-weight:600}.education-page .edu-side-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 8px 20px;text-align:center}.education-page .edu-side-empty>svg{box-sizing:content-box;padding:8px;color:var(--green);background:var(--green-soft);border-radius:50%}.education-page .edu-side-empty p{max-width:232px;margin:0;font-size:13px;line-height:1.75;color:var(--muted)}.education-page .edu-side-empty--quiet{padding:16px 2px 10px;font-size:13px;line-height:1.75;color:var(--muted)}.education-page .edu-side-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin-top:12px;padding-top:10px;font-size:12px;line-height:1.6;color:var(--muted);border-top:1px solid var(--edu-rule)}.education-page .edu-done{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px dashed var(--edu-rule)}.education-page .edu-done:last-child{border-bottom:0;padding-bottom:2px}.education-page .edu-done__check{width:18px;height:18px;display:grid;place-items:center;flex-shrink:0;margin-top:2px;color:var(--green);background:var(--green-soft);border-radius:50%}.education-page .edu-done>div{min-width:0}.education-page .edu-done__title{display:block;font-size:14px;line-height:1.6;color:var(--muted);text-decoration:line-through;text-decoration-color:#c9c0af;text-decoration-thickness:1px;overflow-wrap:anywhere}.education-page .edu-done__meta{display:block;margin-top:1px;font-size:12px;line-height:1.55;color:var(--muted-2);overflow-wrap:anywhere}.education-page .edu-quote-card{position:relative;background:#f6f0e4;border-color:#e2d6c3;overflow:hidden}.education-page .edu-quote-card>svg{color:#b09365}.education-page .edu-quote-card p{position:relative;z-index:1;margin:9px 0 12px;font-family:var(--font-serif);font-size:16.5px;line-height:1.9;color:var(--ink-2);letter-spacing:.02em}.education-page .edu-quote-card span{position:relative;z-index:1;font-size:12px;line-height:1.6;color:var(--muted);letter-spacing:.06em}.education-page .edu-quote-card:after{content:"记";position:absolute;right:14px;bottom:6px;font-family:var(--font-serif);font-size:52px;line-height:1;color:#a1543b1a;pointer-events:none;-webkit-user-select:none;user-select:none}.modal.edu-modal{--edu-paper: #fdfaf3;--edu-rule: #e4dccd;background:var(--edu-paper)}.edu-modal .modal__head h2{font-family:var(--font-serif);font-size:23px;line-height:1.4}.edu-modal .modal__head p{font-size:13px;line-height:1.65}.edu-modal .edu-form{display:flex;flex-direction:column;gap:14px}.edu-modal .field__label{font-size:13px}.edu-modal .field__hint{font-size:12px;line-height:1.6}.edu-modal .input{font-size:14px}.edu-modal .textarea{font-size:14px;line-height:1.7}.edu-modal .edu-form-note{display:flex;align-items:flex-start;gap:7px;margin:0;padding:10px 12px;font-size:12.5px;line-height:1.7;color:var(--muted);background:var(--surface-2);border-radius:8px}.edu-modal .edu-form-note svg{flex-shrink:0;margin-top:2px;color:var(--green)}.edu-modal .edu-progress-input{display:flex;align-items:center;gap:12px}.edu-modal .edu-progress-input input[type=range]{flex:1;min-width:0;accent-color:var(--green)}.edu-modal .edu-progress-input>span{min-width:46px;font-size:14px;font-weight:600;color:var(--ink-2);text-align:right}@media(max-width:1180px){.education-page .edu-body{grid-template-columns:minmax(0,1fr)}.education-page .edu-side{position:static;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.education-page .edu-quote-card{grid-column:1 / -1}}@media(max-width:1200px){.education-page .edu-note{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 26px 22px}.education-page .edu-note__facts{padding-top:14px;border-top:1px dashed #d3c4ae}.education-page .edu-note__facts>div{flex:1;min-width:0;padding:0 18px}.education-page .edu-note__facts>div:first-child{padding-left:0}.education-page .edu-note__facts>div:last-child{padding-right:0}}@media(max-width:860px){.education-page .edu-goal__title{font-size:21px}.education-page .edu-task-form{grid-template-columns:minmax(0,1fr) 140px}.education-page .edu-task-form__actions{grid-column:1 / -1;justify-content:flex-end}}@media(max-width:780px){.education-page .page-head__copy p{font-size:14px;line-height:1.75}.education-page .edu-note{margin-bottom:24px;padding:22px 20px 20px}.education-page .edu-note__copy h2{font-size:22px;line-height:1.55}.education-page .edu-note__copy p{font-size:14px;line-height:1.8}.education-page .edu-children-section{margin-bottom:26px}.education-page .edu-section-head{align-items:flex-start;flex-direction:column;gap:8px}.education-page .edu-section-head h2{font-size:21px}.education-page .edu-goals__head h2{font-size:22px}.education-page .edu-filter{min-height:36px;padding:3px 10px;font-size:12.5px}.education-page .edu-goal{padding:18px 18px 16px}.education-page .edu-goal__title{font-size:20px}.education-page .edu-goal__progress{padding:10px 11px}.education-page .edu-task{grid-template-columns:auto minmax(0,1fr) auto 24px;gap:7px}.education-page .edu-task__remove{opacity:.75}.education-page .edu-todo-card,.education-page .edu-done-card,.education-page .edu-quote-card{padding:19px 18px 16px}.education-page .edu-side{gap:14px}.edu-modal .modal__head h2{font-size:21px}}@media(max-width:720px){.education-page .edu-side{display:flex;flex-direction:column}.education-page .edu-children{grid-template-columns:minmax(0,1fr);gap:14px}.education-page .edu-child{padding:20px 18px 16px}.education-page .edu-child:before{left:18px}}@media(max-width:560px){.education-page .edu-note{padding:20px 16px 18px}.education-page .edu-note__facts>div{padding:0 11px;min-width:0}.education-page .edu-note__facts dd{font-size:21px}.education-page .edu-note__facts dt{font-size:12px}.education-page .edu-goal__head{align-items:flex-start}.education-page .edu-goal__title{font-size:19px;line-height:1.5}.education-page .edu-goal__desc{font-size:14px}.education-page .edu-goal__meta{gap:4px 12px}.education-page .edu-goal__progress-top{font-size:12px}.education-page .edu-task{grid-template-columns:auto minmax(0,1fr) 24px;grid-template-areas:"check title remove" "check due due";row-gap:2px;padding:9px 0}.education-page .edu-task__check{grid-area:check;margin-top:1px}.education-page .edu-task__title{grid-area:title}.education-page .edu-task__due{grid-area:due;padding-left:0}.education-page .edu-task__remove{grid-area:remove}.education-page .edu-task-form{grid-template-columns:minmax(0,1fr);padding:11px}.education-page .edu-task-form__actions{grid-column:auto}.education-page .edu-task-form__actions .edu-text-btn{flex:1;justify-content:center}.education-page .edu-child__id h3{font-size:22px}.education-page .edu-todo{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"check body" "check due";row-gap:1px}.education-page .edu-todo .edu-task__check{grid-area:check}.education-page .edu-todo__body{grid-area:body}.education-page .edu-todo__due{grid-area:due;padding-top:0;padding-left:0}.education-page .edu-side-head h2{font-size:19px}.education-page .edu-quote-card p{font-size:16px}}@media(max-width:390px){.education-page .edu-note{padding:18px 14px 16px}.education-page .edu-note__facts dt{font-size:12px;letter-spacing:.02em}.education-page .edu-note__facts dd{font-size:20px}.education-page .edu-goal{padding:16px 14px 14px}.education-page .edu-goal__tools{margin-right:-4px}.education-page .edu-filter{padding:3px 8px;font-size:12.5px}.education-page .edu-filter .avatar{display:none}.education-page .edu-child{padding:18px 14px 14px}.education-page .edu-child:before{left:14px}.education-page .edu-todo-card,.education-page .edu-done-card,.education-page .edu-quote-card{padding:17px 14px 14px}}.settings-page{min-width:0;color:var(--ink)}.settings-page .settings-summary{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:18px 24px;align-items:center;margin-bottom:20px;padding:26px 30px;background:#efe6d8;border:1px solid #d8cbb9;border-radius:14px;box-shadow:5px 5px #a1543b0d;overflow:hidden}.settings-page .settings-summary__seal{width:54px;height:54px;display:grid;place-items:center;align-self:start;margin-top:4px;border:1px solid rgba(161,84,59,.32);border-radius:7px;background:#fdfaf380;color:var(--terracotta);font-family:var(--font-serif);font-size:25px;line-height:1;transform:rotate(-2deg)}.settings-page .settings-summary__copy{min-width:0}.settings-page .settings-summary__copy h2{margin:5px 0 3px;font-family:var(--font-serif);font-size:clamp(25px,2.4vw,31px);font-weight:600;line-height:1.4;letter-spacing:-.01em}.settings-page .settings-summary__motto{font-family:var(--font-serif);font-size:15px;line-height:1.7;letter-spacing:.03em;color:#6d6353}.settings-page .settings-summary__meta{display:flex;flex-wrap:wrap;gap:5px 18px;margin-top:10px;color:#7d7261;font-size:12.5px;line-height:1.6}.settings-page .settings-summary__meta span{display:inline-flex;align-items:center;gap:5px;min-width:0}.settings-page .settings-summary__meta svg{flex-shrink:0;color:#a07b52}.settings-page .settings-summary__local{display:inline-flex;align-items:center;gap:5px;margin-top:9px;color:#7f7565;font-size:12px;line-height:1.6}.settings-page .settings-summary__local svg{flex-shrink:0;color:var(--green)}.settings-page .settings-summary__facts{display:flex;align-items:stretch;margin:0}.settings-page .settings-summary__facts>div{padding:2px 20px;border-left:1px solid rgba(121,100,75,.2)}.settings-page .settings-summary__facts>div:first-child{padding-left:0;border-left:0}.settings-page .settings-summary__facts>div:last-child{padding-right:0}.settings-page .settings-summary__facts dt{color:#817662;font-size:12px;line-height:1.5;white-space:nowrap}.settings-page .settings-summary__facts dd{margin:3px 0 0;color:var(--ink);font-family:var(--font-num);font-size:21px;font-weight:600;line-height:1.3;white-space:nowrap}.settings-page .settings-viewonly{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding:15px 18px;background:#f4eadb;border:1px solid #e0d0ba;border-left:3px solid var(--terracotta);border-radius:9px}.settings-page .settings-viewonly>svg{flex-shrink:0;margin-top:2px;color:var(--terracotta)}.settings-page .settings-viewonly strong{display:block;font-size:14px;line-height:1.6}.settings-page .settings-viewonly p{margin-top:4px;color:var(--muted);font-size:14px;line-height:1.7}.settings-page .settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:20px;align-items:start;margin-bottom:20px}.settings-page .settings-card{min-width:0;border-radius:14px}.settings-page .settings-household{position:relative;padding:28px 30px 24px;background:#f7f0e3;border-color:#d8cbb9;box-shadow:5px 5px #a1543b0b;overflow:hidden}.settings-page .settings-household:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid rgba(161,84,59,.1);border-radius:9px;pointer-events:none}.settings-page .settings-household>*{position:relative;z-index:1}.settings-page .settings-household__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.settings-page .settings-household__head h2{margin:5px 0 6px;font-family:var(--font-serif);font-size:clamp(24px,2.2vw,29px);font-weight:600;line-height:1.42}.settings-page .settings-household__head p{max-width:520px;color:#6f6759;font-size:14px;line-height:1.72}.settings-page .settings-household__seal{width:46px;height:46px;display:grid;place-items:center;flex-shrink:0;border:1px solid rgba(161,84,59,.28);border-radius:7px;color:#a1543bbf;font-family:var(--font-serif);font-size:21px;line-height:1;transform:rotate(2deg)}.settings-page .settings-household__meta{display:flex;flex-wrap:wrap;gap:7px 20px;margin:16px 0 20px;padding:11px 0;border-top:1px dashed #d6c8b5;border-bottom:1px dashed #d6c8b5;color:#7d7160;font-size:12.5px;line-height:1.6}.settings-page .settings-household__meta span{display:inline-flex;align-items:center;gap:6px}.settings-page .settings-household__meta svg{flex-shrink:0;color:#a3774d}.settings-page .settings-household__form{display:flex;flex-direction:column;gap:18px}.settings-page .settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}.settings-page .settings-field--wide{grid-column:1 / -1}.settings-page .settings-household .field__label{color:#4d483d;font-size:14px}.settings-page .settings-household .field__hint{color:#8a8172;font-size:12px;line-height:1.6}.settings-page .settings-input{height:46px;padding:0 13px;border-color:#d8cbb8;border-radius:8px;background:#fdfaf3db;font-size:15px}.settings-page .settings-input:hover{border-color:#c7b9a5}.settings-page .settings-input:disabled{background:#eee7dbb3;color:var(--muted);cursor:not-allowed}.settings-page .settings-household__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid rgba(121,100,75,.18)}.settings-page .settings-dirty{display:inline-flex;align-items:center;gap:6px;color:var(--muted-2);font-size:12.5px;line-height:1.5}.settings-page .settings-dirty.is-dirty{color:var(--terracotta)}.settings-page .settings-dirty i{width:6px;height:6px;border-radius:50%;background:currentColor}.settings-page .settings-household__buttons{display:flex;align-items:center;gap:8px}.settings-page .settings-backup{padding:26px 24px 22px}.settings-page .settings-backup__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.settings-page .settings-backup__head h2{margin-top:4px;font-family:var(--font-serif);font-size:23px;font-weight:600;line-height:1.4}.settings-page .settings-local-tag{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:4px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2);color:var(--muted);font-size:12px;line-height:1.4;white-space:nowrap}.settings-page .settings-backup__lead{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.75}.settings-page .settings-storage-error{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:11px 13px;border:1px solid #e6c4b2;border-radius:8px;background:var(--terracotta-soft);color:#7d412d;font-size:13px;line-height:1.65}.settings-page .settings-storage-error svg{flex-shrink:0;margin-top:2px}.settings-page .settings-data-block{margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.settings-page .settings-data-block__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(121,100,75,.14);color:var(--ink-2);font-size:12.5px;font-weight:600}.settings-page .settings-data-block__head span:last-child{color:var(--muted);font-family:var(--font-num);font-weight:500;white-space:nowrap}.settings-page .settings-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin:0;padding:4px 0}.settings-page .settings-data>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px dotted var(--line)}.settings-page .settings-data>div:nth-last-child(-n+2){border-bottom:0}.settings-page .settings-data dt{color:var(--muted);font-size:12.5px;line-height:1.5;white-space:nowrap}.settings-page .settings-data dd{margin:0;color:var(--ink);font-family:var(--font-num);font-size:16px;font-weight:600;line-height:1.4;white-space:nowrap}.settings-page .settings-data dd small{margin-left:2px;color:var(--muted);font-family:var(--font-sans);font-size:12px;font-weight:400}.settings-page .settings-data-block__foot{display:flex;align-items:center;gap:5px;margin-top:9px;padding-top:10px;border-top:1px solid rgba(121,100,75,.14);color:var(--muted-2);font-size:12px;line-height:1.55}.settings-page .settings-data-block__foot svg{flex-shrink:0}.settings-page .settings-backup__actions{display:flex;flex-direction:column;gap:9px}.settings-page .settings-btn-block{width:100%;height:46px;font-size:14.5px}.settings-page .settings-backup__danger{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:15px;border-top:1px dashed var(--line)}.settings-page .settings-backup__danger>div{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-page .settings-backup__danger strong{font-size:14px;font-weight:600;line-height:1.5}.settings-page .settings-backup__danger span{color:var(--muted);font-size:12px;line-height:1.55}.settings-page .settings-restore{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;height:36px;padding:0 11px;border:1px solid var(--line);border-radius:7px;color:var(--terracotta);font-size:13px;font-weight:600;transition:background .2s,border-color .2s}.settings-page .settings-restore:hover:not(:disabled){background:var(--terracotta-soft);border-color:#d9b6a5}.settings-page .settings-restore:disabled{opacity:.45;cursor:not-allowed}.settings-page .settings-backup__note{display:flex;align-items:flex-start;gap:6px;margin-top:14px;color:var(--muted);font-size:12px;line-height:1.68}.settings-page .settings-backup__note svg{flex-shrink:0;margin-top:2px;color:var(--gold)}.settings-page .settings-members{margin-bottom:20px;padding:28px 30px 22px}.settings-page .settings-members__head{display:flex;align-items:flex-start;justify-content:space-between;gap:26px}.settings-page .settings-members__head h2{margin:5px 0 6px;font-family:var(--font-serif);font-size:clamp(24px,2.2vw,28px);font-weight:600;line-height:1.42}.settings-page .settings-members__head p{max-width:660px;color:var(--muted);font-size:14px;line-height:1.72}.settings-page .settings-members__total{flex-shrink:0;padding-left:20px;border-left:1px solid var(--line);text-align:right}.settings-page .settings-members__total strong{display:block;color:var(--ink);font-family:var(--font-num);font-size:24px;font-weight:600;line-height:1.2}.settings-page .settings-members__total span{display:block;color:var(--muted);font-size:12.5px;line-height:1.5}.settings-page .settings-members__total small{display:block;margin-top:4px;color:var(--muted-2);font-size:12px;line-height:1.5;white-space:nowrap}.settings-page .settings-notice{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;border:1px solid #e6cdbf;border-radius:9px;background:var(--terracotta-soft);color:#7d4c39;font-size:14px;line-height:1.65}.settings-page .settings-notice svg{flex-shrink:0;margin-top:2px}.settings-page .settings-members__table{margin-top:20px}.settings-page .settings-member{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr) 136px;gap:18px;align-items:center;padding:14px 6px;border-bottom:1px solid var(--line)}.settings-page .settings-member:last-child{border-bottom:0}.settings-page .settings-member--head{padding:0 6px 9px;border-bottom:1px solid var(--line-strong);color:var(--muted-2);font-size:12px;line-height:1.5}.settings-page .settings-member--head span:last-child{padding-right:8px;text-align:right}.settings-page .settings-member__person{display:flex;align-items:center;gap:11px;min-width:0}.settings-page .settings-member__name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.settings-page .settings-member__name strong{font-size:14.5px;font-weight:600;line-height:1.5}.settings-page .settings-member__person>div>span{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.5}.settings-page .settings-member__access{display:flex;flex-direction:column;gap:1px;min-width:0}.settings-page .settings-member__access-label{display:none;color:var(--muted-2);font-size:12px;line-height:1.5}.settings-page .settings-member__access>span:last-child{color:var(--ink-2);font-size:14px;line-height:1.6}.settings-page .settings-member__role{display:flex;justify-content:flex-end}.settings-page .settings-role{position:relative;display:inline-flex;align-items:center;width:126px}.settings-page .settings-role>svg{position:absolute;left:10px;z-index:1;color:var(--muted);pointer-events:none}.settings-page .settings-role__select{width:100%;height:38px;padding:0 26px 0 30px;border-color:var(--line);border-radius:7px;background-color:var(--surface-2);color:var(--ink-2);font-size:14px}.settings-page .settings-role--owner .settings-role__select{border-color:#e3d3b9;background-color:var(--gold-soft);color:#7d5f32}.settings-page .settings-role--admin .settings-role__select{border-color:#d3dee5;background-color:var(--blue-soft);color:#48657a}.settings-page .settings-role--owner>svg{color:var(--gold)}.settings-page .settings-role--admin>svg{color:var(--blue)}.settings-page .settings-role__select:disabled{opacity:.62;cursor:not-allowed}.settings-page .settings-members__foot{display:flex;align-items:flex-start;gap:7px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);color:var(--muted);font-size:12px;line-height:1.68}.settings-page .settings-members__foot svg{flex-shrink:0;margin-top:2px;color:var(--green)}.settings-page .settings-members__foot p{flex:1;min-width:0}.settings-page .settings-members__foot>span{flex-shrink:0;color:var(--muted-2)}.settings-page .settings-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px;align-items:start}.settings-page .settings-about,.settings-page .settings-phase2{padding:26px 28px}.settings-page .settings-about__head,.settings-page .settings-phase2__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-page .settings-about__head h2,.settings-page .settings-phase2__head h2{margin-top:4px;font-family:var(--font-serif);font-size:24px;font-weight:600;line-height:1.42}.settings-page .settings-about__mark{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border:1px solid #d9c7ae;border-radius:6px;background:#f6ede0;color:var(--terracotta);font-family:var(--font-serif);font-size:19px;line-height:1;transform:rotate(2deg)}.settings-page .settings-about__lead{margin-top:14px;color:var(--ink-2);font-size:14px;line-height:1.85}.settings-page .settings-about__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:18px 0;padding:4px 0 6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.settings-page .settings-about__meta>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dotted var(--line)}.settings-page .settings-about__meta>div:nth-last-child(-n+2){border-bottom:0}.settings-page .settings-about__meta dt{color:var(--muted);font-size:12.5px;line-height:1.5;white-space:nowrap}.settings-page .settings-about__meta dd{margin:0;color:var(--ink-2);font-size:14px;line-height:1.5;text-align:right}.settings-page .settings-about__privacy{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border:1px solid #dbe5dd;border-radius:8px;background:var(--green-pale);color:#4e6658;font-size:14px;line-height:1.72}.settings-page .settings-about__privacy svg{flex-shrink:0;margin-top:2px}.settings-page .settings-about__quote{margin-top:16px;color:#7b6b56;font-family:var(--font-serif);font-size:15px;line-height:1.7;letter-spacing:.04em;text-align:right}.settings-page .settings-phase2{background:#f2ebdf;border-color:#dccfbd}.settings-page .settings-phase2__head h2{font-size:23px}.settings-page .settings-phase2__stamp{flex-shrink:0;padding:5px 9px;border:1px solid #cfbda6;border-radius:5px;color:#8b6d4e;font-size:12px;line-height:1.4;letter-spacing:.08em;transform:rotate(2deg);white-space:nowrap}.settings-page .settings-phase2__lead{margin-top:12px;color:#6f6658;font-size:14px;line-height:1.8}.settings-page .settings-phase2__list{display:flex;flex-direction:column;margin-top:16px}.settings-page .settings-phase2__list li{display:flex;gap:12px;padding:12px 0;border-top:1px dashed rgba(121,100,75,.2)}.settings-page .settings-phase2__num{flex-shrink:0;width:20px;padding-top:2px;color:#a48d70;font-family:var(--font-num);font-size:12px;line-height:1.5}.settings-page .settings-phase2__list strong{display:block;color:var(--ink-2);font-size:14px;font-weight:600;line-height:1.5}.settings-page .settings-phase2__list p{margin-top:3px;color:#7c7263;font-size:14px;line-height:1.68}.settings-page .settings-phase2__foot{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(121,100,75,.18);color:#8a7f6d;font-size:12px;line-height:1.5}@media(max-width:1180px){.settings-page .settings-summary{grid-template-columns:48px minmax(0,1fr);padding:24px 26px}.settings-page .settings-summary__seal{width:48px;height:48px;font-size:22px}.settings-page .settings-summary__facts{grid-column:2;margin-top:4px}.settings-page .settings-summary__facts>div{padding:2px 22px}.settings-page .settings-summary__facts>div:first-child{padding-left:0}.settings-page .settings-layout{grid-template-columns:minmax(0,1fr) 330px}.settings-page .settings-member{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) 126px;gap:14px}.settings-page .settings-members__head{gap:20px}}@media(max-width:900px){.settings-page .settings-layout,.settings-page .settings-bottom{grid-template-columns:minmax(0,1fr)}.settings-page .settings-backup{padding:26px 28px 22px}.settings-page .settings-backup__lead{max-width:640px}.settings-page .settings-data{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}.settings-page .settings-data>div:nth-last-child(-n+4){border-bottom:0}.settings-page .settings-backup__actions{flex-direction:row;flex-wrap:wrap}.settings-page .settings-backup__actions .settings-btn-block{width:auto;flex:1 1 220px}.settings-page .settings-about,.settings-page .settings-phase2{padding:26px 28px}}@media(max-width:780px){.settings-page .settings-summary{gap:14px 16px;padding:22px 20px;border-radius:12px}.settings-page .settings-summary__facts{margin-top:2px;padding-top:14px;border-top:1px dashed rgba(121,100,75,.22)}.settings-page .settings-summary__facts>div{flex:1;padding:0 12px}.settings-page .settings-summary__facts>div:first-child{padding-left:0}.settings-page .settings-summary__facts dd{font-size:19px}.settings-page .settings-household{padding:24px 20px 20px}.settings-page .settings-household:before{top:7px;right:7px;bottom:7px;left:7px}.settings-page .settings-household__head h2{font-size:25px}.settings-page .settings-household__seal{width:40px;height:40px;font-size:18px}.settings-page .settings-input{height:48px;font-size:16px}.settings-page .settings-household__foot{flex-direction:column;align-items:stretch;gap:12px}.settings-page .settings-household__buttons{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.settings-page .settings-household__buttons .btn{height:46px;font-size:14px}.settings-page .settings-members{padding:24px 20px 20px}.settings-page .settings-members__head{flex-direction:column;gap:14px}.settings-page .settings-members__total{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;width:100%;padding:12px 0 0;border-top:1px solid var(--line);border-left:0;text-align:left}.settings-page .settings-members__total strong{font-size:22px}.settings-page .settings-members__total small{margin-top:0;margin-left:auto}.settings-page .settings-member--head{display:none}.settings-page .settings-members__table{margin-top:14px}.settings-page .settings-member{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"person role" "access access";gap:7px 12px;padding:14px 2px}.settings-page .settings-member__person{grid-area:person}.settings-page .settings-member__access{grid-area:access;flex-direction:row;align-items:baseline;gap:6px;padding-left:49px}.settings-page .settings-member__access-label{display:inline;flex-shrink:0}.settings-page .settings-member__role{grid-area:role}.settings-page .settings-role{width:118px}.settings-page .settings-members__foot{flex-wrap:wrap}.settings-page .settings-members__foot>span{width:100%;padding-left:22px}.settings-page .settings-backup{padding:22px 20px 20px}.settings-page .settings-backup__head h2,.settings-page .settings-phase2__head h2{font-size:22px}.settings-page .settings-backup__actions{flex-direction:column}.settings-page .settings-btn-block{width:100%;height:48px;font-size:15px}.settings-page .settings-about,.settings-page .settings-phase2{padding:22px 20px}.settings-page .settings-about__head h2{font-size:23px}.settings-page .settings-about__lead{font-size:14px}}@media(max-width:640px){.settings-page .settings-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.settings-page .settings-data>div{border-bottom:1px dotted var(--line)}.settings-page .settings-data>div:nth-last-child(-n+2){border-bottom:0}}@media(max-width:560px){.settings-page .settings-summary{grid-template-columns:42px minmax(0,1fr)}.settings-page .settings-summary__seal{width:42px;height:42px;font-size:20px}.settings-page .settings-summary__copy h2{font-size:24px}.settings-page .settings-summary__motto{font-size:14px}.settings-page .settings-summary__meta{flex-direction:column;gap:4px}.settings-page .settings-summary__facts{grid-column:1 / -1}.settings-page .settings-summary__facts>div{padding:0 10px}.settings-page .settings-summary__facts dt{font-size:12px}.settings-page .settings-summary__facts dd{font-size:18px}.settings-page .settings-form-grid{grid-template-columns:minmax(0,1fr);gap:15px}.settings-page .settings-household__head p{font-size:13px}.settings-page .settings-household__meta{gap:6px 14px}.settings-page .settings-backup__danger{align-items:flex-start;flex-direction:column}.settings-page .settings-restore{width:100%;height:42px}.settings-page .settings-about__meta{grid-template-columns:minmax(0,1fr);gap:0}.settings-page .settings-about__meta>div:nth-last-child(2){border-bottom:1px dotted var(--line)}.settings-page .settings-about__meta>div:last-child{border-bottom:0}.settings-page .settings-about__mark{display:none}}@media(max-width:420px){.settings-page .settings-summary{padding:18px 16px;gap:12px}.settings-page .settings-summary__copy h2{font-size:22px}.settings-page .settings-summary__local{font-size:12px}.settings-page .settings-household,.settings-page .settings-members,.settings-page .settings-backup,.settings-page .settings-about,.settings-page .settings-phase2{padding-left:16px;padding-right:16px}.settings-page .settings-household__head h2{font-size:23px}.settings-page .settings-household__seal{display:none}.settings-page .settings-member__person{gap:9px}.settings-page .settings-member__name strong{font-size:14px}.settings-page .settings-role{width:108px}.settings-page .settings-role__select{height:40px;padding-left:28px;font-size:14px}.settings-page .settings-role>svg{left:9px}.settings-page .settings-member__access{padding-left:47px}.settings-page .settings-members__foot>span{padding-left:0}}@media(max-width:780px){.settings-page .settings-backup__actions .settings-btn-block{flex:0 0 auto;height:48px}}.settings-page .settings-account-banner{display:flex;align-items:center;gap:13px;padding:13px 15px;margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.settings-page .settings-account-banner.is-cloud{border-color:#d6e3d8;background:#f2f6f1}.settings-page .settings-account-banner.is-guest{border-color:#e6d7c2;background:#f8f2e7}.settings-page .settings-account-banner__icon{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:7px;color:var(--green);background:#e6efe5}.settings-page .settings-account-banner.is-guest .settings-account-banner__icon{color:#9a714c;background:#f0e2cd}.settings-page .settings-account-banner__copy{flex:1;min-width:0}.settings-page .settings-account-banner__copy strong{display:block;font-size:12.5px;font-weight:600}.settings-page .settings-account-banner__copy p{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.55}.settings-page .settings-account-banner__btn{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;height:32px;padding:0 11px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink-2);font-size:11.5px;font-weight:500}.settings-page .settings-account-banner__btn:hover{border-color:var(--green);color:var(--green);background:#fbf8f0}.settings-page .settings-summary__local.is-cloud{color:var(--green)}.settings-page .settings-summary__local.is-cloud svg{color:#6b9478}@media(max-width:640px){.settings-page .settings-account-banner{align-items:flex-start;flex-wrap:wrap}.settings-page .settings-account-banner__copy{flex-basis:calc(100% - 49px)}.settings-page .settings-account-banner__btn{width:100%;justify-content:center;margin-top:2px}}.account-page{max-width:1120px}.account-summary{position:relative;display:flex;align-items:center;gap:17px;padding:23px 25px;border:1px solid var(--line);border-radius:13px;background:var(--surface);overflow:hidden}.account-summary:after{content:"安";position:absolute;right:23px;bottom:-24px;color:#a1543b0d;font-family:var(--font-serif);font-size:128px;line-height:1;pointer-events:none}.account-summary__seal{position:relative;z-index:1;width:58px;height:58px;flex-shrink:0;display:grid;place-items:center;border:1px solid #d8c5ad;border-radius:11px;background:#f8f1e5;color:var(--terracotta);font-family:var(--font-serif);font-size:27px;font-weight:600}.account-summary__copy{position:relative;z-index:1;min-width:0}.account-summary__copy h2{font-family:var(--font-serif);font-size:27px;font-weight:600;line-height:1.35}.account-summary__copy p{margin-top:3px;color:var(--muted);font-size:12.5px}.account-summary__facts{position:relative;z-index:1;display:flex;gap:0;margin-left:auto;padding-left:20px}.account-summary__facts>div{min-width:112px;padding:0 18px;border-left:1px solid var(--line)}.account-summary__facts>div:first-child{border-left:0}.account-summary__facts dt{color:var(--muted);font-size:10.5px;letter-spacing:.04em}.account-summary__facts dd{margin-top:5px;display:flex;align-items:center;gap:4px;color:var(--ink-2);font-size:12.5px;font-weight:500}.account-summary__facts dd.is-warn{color:var(--terracotta)}.account-summary__facts dd svg{color:var(--green)}.account-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:start;gap:18px;margin-top:18px}.account-card{padding:25px 26px 23px}.account-card__head{display:flex;align-items:flex-start;gap:11px;padding-bottom:19px;border-bottom:1px solid var(--line)}.account-card__head--split{align-items:center;justify-content:space-between;gap:12px}.account-card__head-main{display:flex;align-items:flex-start;gap:11px}.account-card__icon{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border:1px solid #d8e1d5;border-radius:8px;background:#f1f6f0;color:var(--green)}.account-card__head h2{font-family:var(--font-serif);font-size:22px;font-weight:600;line-height:1.35}.account-card__head p{color:var(--muted);font-size:11px;line-height:1.55;margin-top:2px}.account-form{display:flex;flex-direction:column;gap:15px;padding-top:20px}.account-input{display:flex;align-items:center;gap:8px;height:43px;padding:0 11px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:#a49a8a;transition:border-color .18s,box-shadow .18s}.account-input:focus-within{border-color:#415f509e;box-shadow:0 0 0 3px #415f5012}.account-input .input{height:100%;padding:0;border:0;box-shadow:none;background:transparent;font-size:13.5px}.account-input .input:focus{outline:0;box-shadow:none}.account-error{display:flex;align-items:flex-start;gap:6px;padding:9px 11px;border:1px solid #e7c4b4;border-radius:6px;background:var(--terracotta-soft);color:#994b35;font-size:11.5px;line-height:1.55}.account-error svg{flex-shrink:0;margin-top:1px}.account-submit{height:43px;margin-top:2px;border-radius:7px;background:var(--green-deep);color:#f8f1e4;font-size:13.5px;font-weight:600;transition:background .18s}.account-submit:hover:not(:disabled){background:#223d31}.account-submit:disabled{opacity:.62;cursor:wait}.account-hint{display:flex;align-items:flex-start;gap:4px;margin-top:15px;color:var(--muted-2);font-size:10.5px;line-height:1.6}.account-hint svg{flex-shrink:0;margin-top:1px}.account-link-danger{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:5px 7px;border-radius:5px;color:var(--terracotta);font-size:10.5px;white-space:nowrap}.account-link-danger:hover{background:var(--terracotta-soft)}.account-link-danger:disabled{opacity:.6;cursor:wait}.account-sessions__loading,.account-sessions__empty{display:flex;align-items:center;justify-content:center;gap:7px;min-height:125px;color:var(--muted);font-size:12px}.account-sessions__list{list-style:none;padding:0;margin:0}.account-session{display:flex;align-items:center;gap:11px;padding:15px 0;border-bottom:1px dashed var(--line)}.account-session:last-child{border-bottom:0}.account-session.is-current{background:#f5f9f4}.account-session__icon{width:35px;height:35px;flex-shrink:0;display:grid;place-items:center;border-radius:7px;background:var(--surface-2);color:var(--ink-3)}.account-session.is-current .account-session__icon{background:#eef5ee;color:var(--green)}.account-session__copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.account-session__title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.account-session__title strong{font-size:13px;font-weight:600}.account-session__copy>span{color:var(--muted);font-size:10.5px;line-height:1.55}.account-session__copy small{color:var(--muted-2);font-size:10px}.account-session__revoke{flex-shrink:0;padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:10.5px}.account-session__revoke:hover{border-color:#e1bba9;color:var(--terracotta);background:var(--terracotta-soft)}.account-sessions__foot{display:flex;align-items:flex-start;gap:4px;margin-top:14px;padding-top:13px;border-top:1px dashed var(--line);color:var(--muted-2);font-size:10.5px;line-height:1.6}.account-sessions__foot svg{flex-shrink:0;margin-top:1px}.account-page__foot{display:flex;align-items:center;gap:5px;margin-top:19px;color:var(--muted-2);font-size:10.5px}.account-page__foot svg{color:var(--green)}.account-page .spin{animation:spin 1s linear infinite}@media(max-width:1050px){.account-summary{flex-wrap:wrap}.account-summary__facts{order:3;width:100%;margin-left:0;padding-left:0;padding-top:15px;border-top:1px solid var(--line)}.account-summary__facts>div{flex:1;min-width:0;padding:0 14px}.account-grid{grid-template-columns:1fr}}@media(max-width:640px){.account-summary{padding:19px 17px;gap:12px}.account-summary__seal{width:46px;height:46px;font-size:23px}.account-summary__copy h2{font-size:22px}.account-summary__facts{gap:8px}.account-summary__facts>div{padding:0 9px}.account-summary__facts dt{font-size:9.5px}.account-summary__facts dd{font-size:11px}.account-card{padding:20px 17px 18px}.account-card__head h2{font-size:20px}.account-card__head--split{align-items:flex-start;flex-direction:column}.account-link-danger{margin-left:47px}.account-session{align-items:flex-start}.account-session__revoke{margin-top:2px}}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,.92fr) minmax(0,1.08fr);background:var(--bg);color:var(--ink)}.auth-story{position:relative;display:flex;flex-direction:column;min-height:100vh;padding:42px 48px 36px;background:#eee5d7;border-right:1px solid #d7c9b6;overflow:hidden}.auth-story:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1px solid rgba(161,84,59,.1);pointer-events:none}.auth-story__top{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.auth-brand{display:flex;align-items:center;gap:11px;text-align:left}.auth-brand__seal{width:45px;height:45px;display:grid;place-items:center;border:1px solid #c7b399;border-radius:9px;background:#f8f1e5;color:var(--terracotta);font-family:var(--font-serif);font-size:23px;font-weight:600}.auth-brand__words{display:flex;flex-direction:column}.auth-brand__words strong{font-family:var(--font-serif);font-size:25px;font-weight:600;letter-spacing:.1em;line-height:1.1}.auth-brand__words small{color:var(--muted);font-size:10.5px;letter-spacing:.11em;margin-top:4px}.auth-home-link{display:flex;align-items:center;gap:4px;color:#857764;font-size:12.5px;padding-top:7px}.auth-home-link:hover{color:var(--terracotta)}.auth-story__copy{position:relative;z-index:2;margin-top:13vh;max-width:530px}.auth-story__copy h1{font-family:var(--font-serif);font-size:clamp(40px,4.2vw,58px);font-weight:600;line-height:1.42;letter-spacing:-.01em;margin:15px 0 17px}.auth-story__copy p{color:#6b6255;font-size:15px;line-height:1.9;max-width:460px}.auth-features{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:43px;border-top:1px solid rgba(121,100,75,.2);border-left:1px solid rgba(121,100,75,.2)}.auth-feature{display:flex;align-items:center;gap:10px;padding:16px 14px;border-right:1px solid rgba(121,100,75,.2);border-bottom:1px solid rgba(121,100,75,.2)}.auth-feature>span{width:31px;height:31px;flex-shrink:0;display:grid;place-items:center;border-radius:7px;background:#f7f0e5;color:var(--terracotta)}.auth-feature>div{display:flex;flex-direction:column}.auth-feature strong{font-family:var(--font-serif);font-size:14px;font-weight:600}.auth-feature small{color:#7b7060;font-size:10.5px;margin-top:2px;line-height:1.45}.auth-story__foot{position:relative;z-index:2;margin-top:auto;padding-top:44px;display:flex;flex-direction:column;align-items:flex-start}.auth-quote-mark{font-family:var(--font-serif);color:#a1543b59;font-size:32px;line-height:.7}.auth-story__foot p{font-family:var(--font-serif);font-size:15px;letter-spacing:.08em;color:#544d42;margin-top:4px}.auth-story__foot small{color:#8f8270;font-size:10.5px;margin-top:4px}.auth-story__watermark{position:absolute;right:1%;bottom:-95px;z-index:1;font-family:var(--font-serif);font-size:370px;line-height:1;color:#a1543b0b;pointer-events:none}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:54px 38px 28px;min-height:100vh;position:relative}.auth-back{position:absolute;top:33px;left:38px;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12.5px}.auth-back:hover{color:var(--green)}.auth-card{width:min(100%,470px);border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:28px 30px 25px;box-shadow:0 1px #322d2305}.auth-card__head{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.auth-card__mark{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:var(--green-pale);color:var(--green)}.auth-secure-note{margin-left:auto;display:flex;align-items:center;gap:4px;color:var(--muted-2);font-size:10.5px}.auth-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-top:21px}.auth-tabs button{position:relative;padding:0 0 10px;color:var(--muted);font-size:14px;font-weight:500}.auth-tabs button:hover{color:var(--ink)}.auth-tabs button.is-active{color:var(--ink);font-weight:600}.auth-tabs button.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--terracotta);border-radius:2px}.auth-intro{padding:23px 0 17px}.auth-intro h2{font-family:var(--font-serif);font-size:26px;font-weight:600;line-height:1.45}.auth-intro p{color:var(--muted);font-size:12.5px;line-height:1.75;margin-top:5px}.auth-form{display:flex;flex-direction:column;gap:15px}.auth-input{display:flex;align-items:center;gap:9px;padding:0 12px;height:45px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:#a39a8b;transition:border-color .2s,box-shadow .2s}.auth-input:focus-within{border-color:#415f509e;box-shadow:0 0 0 3px #415f5014}.auth-input .input{height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:14px}.auth-input .input:focus{outline:none;box-shadow:none}.auth-error{padding:10px 12px;border:1px solid #e7c4b4;border-radius:7px;background:var(--terracotta-soft);color:#994b35;font-size:12.5px;line-height:1.55}.auth-submit{height:46px;margin-top:3px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;background:var(--green-deep);color:#f8f1e4;font-size:14.5px;font-weight:600;transition:background .2s}.auth-submit:hover:not(:disabled){background:#223d31}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-divider{display:flex;align-items:center;gap:11px;color:var(--muted-2);font-size:10.5px;margin:20px 0 12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-demo{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:8px;color:var(--ink-2);font-size:13px;background:var(--surface-2)}.auth-demo:hover{background:#f9f4e9;border-color:var(--line-strong);color:var(--green)}.auth-footnote{color:var(--muted-2);font-size:10.5px;line-height:1.7;margin-top:17px;text-align:center}.auth-main__foot{display:flex;align-items:center;gap:18px;color:var(--muted-2);font-size:10px;margin-top:23px}.auth-main__foot span{display:flex;align-items:center;gap:4px}.auth-main__foot span:last-child{margin-left:20px;color:#b2a998}@media(max-width:1000px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:auto;padding:28px 28px 23px;border-right:0;border-bottom:1px solid #d7c9b6}.auth-story__copy{margin-top:43px}.auth-story__copy h1{font-size:42px;margin:11px 0 12px}.auth-story__copy p{font-size:13.5px}.auth-features,.auth-story__foot{display:none}.auth-story__watermark{font-size:260px;bottom:-70px}.auth-main{min-height:auto;padding:31px 22px 33px}.auth-back{position:static;align-self:flex-start;margin-bottom:22px}.auth-card{padding:24px 23px 22px}}@media(max-width:560px){.auth-story{padding:22px 20px 17px}.auth-story__copy{margin-top:33px}.auth-story__copy h1{font-size:31px;line-height:1.5}.auth-story__copy p{font-size:12.5px}.auth-story__top .auth-home-link{font-size:11px}.auth-brand__seal{width:38px;height:38px;font-size:19px}.auth-brand__words strong{font-size:21px}.auth-brand__words small{font-size:9px}.auth-main{padding:20px 14px 28px}.auth-card{padding:21px 17px 19px;border-radius:12px}.auth-intro h2{font-size:23px}.auth-card__head{font-size:11px}.auth-secure-note{font-size:9.5px}.auth-tabs{gap:15px}.auth-tabs button{font-size:13.5px}.auth-main__foot{flex-wrap:wrap;justify-content:center;gap:8px 13px}.auth-main__foot span:last-child{margin-left:0;width:100%;text-align:center}}.sync-chip{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 9px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:11px;font-weight:500;white-space:nowrap}.sync-chip:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--ink-2)}.sync-chip--ok{color:#527660;background:#f1f6f2;border-color:#d9e6dc}.sync-chip--guest{color:#8d6f4d;background:#f7f0e4;border-color:#e6d7c1}.sync-chip--error{color:var(--terracotta);background:var(--terracotta-soft);border-color:#ebcbbb}.sync-chip--saving,.sync-chip--loading{color:var(--blue);background:var(--blue-soft);border-color:#d5e1e9}.sync-chip .spin,.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.user-pop__sync{display:flex;align-items:flex-start;gap:6px;padding:8px 9px;margin:2px 0 5px;border-radius:6px;background:var(--surface-2);color:var(--muted);font-size:10.5px;line-height:1.55}.user-pop__sync-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:4px;background:#c0b6a4}.user-pop__sync-dot--ok{background:#6e9d7f}.user-pop__sync-dot--saving{background:var(--blue)}.user-pop__sync-dot--error{background:var(--terracotta)}.user-pop__login{display:flex!important;align-items:center!important;gap:8px!important;margin:4px 4px 6px!important;padding:10px!important;border:1px solid #e5d7c3!important;border-radius:7px!important;background:#f8f1e5!important;color:var(--green-deep)!important}.user-pop__login:hover{background:#f4ebdc!important}.user-pop__login>span{display:flex;flex-direction:column;flex:1;align-items:flex-start}.user-pop__login strong{font-size:12px;font-weight:600}.user-pop__login small{color:var(--muted);font-size:10px;margin-top:1px}.user-pop__logout{color:var(--terracotta)!important}.user-pop__logout:hover{background:var(--terracotta-soft)!important}.user-pop__head small{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.sync-chip span{display:none}.sync-chip{width:35px;height:35px;padding:0;justify-content:center}}@media(max-width:780px){.sync-chip{display:none}}.auth-gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--bg);color:var(--ink)}.auth-gate__seal{width:46px;height:46px;display:grid;place-items:center;border:1px solid #c7b399;border-radius:9px;background:#f8f1e5;color:var(--terracotta);font-family:var(--font-serif);font-size:23px;font-weight:600}.auth-gate p{font-family:var(--font-serif);font-size:18px}.auth-gate small{color:var(--muted);font-size:11px}.auth-story__tag{display:inline-flex;align-items:center;height:27px;padding:0 9px;border:1px solid rgba(161,84,59,.2);border-radius:20px;background:#fffaf066;color:#8d6f57;font-size:10.5px;letter-spacing:.05em}.auth-main__tag{color:var(--muted);font-size:11px;letter-spacing:.06em;margin-bottom:11px;align-self:center}@media(max-width:560px){.auth-main__tag{align-self:flex-start;margin-left:2px}}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-serif-400-00-7f31d3.woff2) format("woff2");unicode-range:U+25,U+2b,U+2f-39,U+b7,U+2014,U+2018-2019,U+201c-201d,U+2026,U+3001-3002,U+3008-300b,U+3010-3011,U+4e00,U+4e07,U+4e09-4e0b,U+4e0d-4e0e,U+4e13-4e14,U+4e1a,U+4e1c-4e1d,U+4e24-4e25,U+4e2a,U+4e2d,U+4e30,U+4e34,U+4e39-4e3b,U+4e3e,U+4e45,U+4e48-4e49,U+4e4b,U+4e50,U+4e54,U+4e5f-4e60,U+4e66,U+4e70,U+4e86,U+4e88,U+4e8b-4e8c,U+4e8e-4e8f,U+4e91-4e92,U+4e94-4e95,U+4e9b,U+4ea4,U+4ea7,U+4eab,U+4ead-4eae,U+4eb2,U+4eba,U+4ebf-4ec1,U+4ec5,U+4eca-4ecb,U+4ecd-4ece,U+4ed3,U+4ed6,U+4ed8,U+4ee3,U+4ee5,U+4eea,U+4eec,U+4ef6-4ef7,U+4efb,U+4efd,U+4f11,U+4f18-4f1a,U+4f20,U+4f24,U+4f30,U+4f34,U+4f3c,U+4f46,U+4f4d-4f4f,U+4f53,U+4f55,U+4f59,U+4f5c,U+4f60,U+4f7f,U+4f8b,U+4f8d,U+4f9b,U+4f9d,U+4fa7,U+4fbf,U+4fdd,U+4fe1,U+4fee,U+5012,U+5019,U+501f,U+503a,U+503c,U+5047,U+504f,U+505a,U+505c,U+5065,U+5076-5077,U+507f,U+5085,U+50a8,U+50cf,U+513f,U+5141,U+5143,U+5145,U+5148,U+514b,U+514d,U+5165,U+5168,U+516b-516d,U+5170-5171,U+5173-5174,U+5176-5177,U+517b-517c,U+5185,U+518c-518d,U+5199,U+519b,U+51b0,U+51b2-51b3,U+51b5,U+51b7,U+51bb,U+51c0,U+51c6,U+51c9,U+51cc,U+51cf,U+51d1,U+51e0,U+51ed,U+51fa-51fb,U+5206-5207,U+5212,U+5217,U+5219-521b,U+521d,U+5220,U+5229,U+522b,U+5230,U+5236,U+5238,U+524d,U+5269,U+529b,U+529e-52a1,U+52a8-52a9,U+52b1,U+52b3,U+52bf,U+52fe,U+5305,U+5316-5317,U+5339-533b,U+5343,U+5347-5348,U+534a,U+534e}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-serif-400-01-a1644c.woff2) format("woff2");unicode-range:U+5355-5357,U+5360-5361,U+5367,U+536b,U+5373,U+5385-5386,U+538b,U+539f,U+53a8,U+53bb,U+53c2,U+53ca-53cd,U+53d1,U+53d6-53d8,U+53e3,U+53e5,U+53ea-53eb,U+53ef-53f0,U+53f2,U+53f7-53f8,U+5403-5404,U+5408,U+540c-540e,U+5411,U+5426,U+542b-542c,U+542f,U+5434,U+5438,U+543e,U+544a,U+5458,U+5468,U+5473,U+547c-547d,U+548c,U+5496,U+54a8,U+54b3,U+54c1,U+54c8,U+54e5,U+54ea,U+5546,U+5561,U+5578,U+5584,U+559c,U+5609,U+5631,U+5668,U+56db,U+56de,U+56e0,U+56e2,U+56ed,U+56f4,U+56fa,U+56fd-56fe,U+5706,U+571f,U+5728,U+5730,U+573a,U+5740,U+5747,U+574f-5750,U+5757,U+575a,U+578b,U+57df,U+57fa,U+5802,U+5858,U+586b,U+5883,U+5899,U+589e,U+58c1,U+58eb,U+5904,U+5907,U+590d,U+5916,U+591a,U+591c,U+5927,U+5929-592b,U+592e,U+5931,U+5934,U+5947,U+5949,U+594f,U+5954,U+5956-5957,U+5973,U+5976,U+5979,U+597d,U+5982,U+5988,U+59b9,U+59bb,U+59cb,U+59d0,U+59d3,U+59e8,U+5a31,U+5a5a,U+5a74,U+5b50,U+5b57-5b58,U+5b63,U+5b66,U+5b69,U+5b85,U+5b88-5b89,U+5b8c,U+5b9a,U+5b9d-5b9e,U+5ba1-5ba2,U+5ba4,U+5bb5-5bb6,U+5bb9,U+5bbf,U+5bc6,U+5bcc,U+5bd3,U+5bdf,U+5bf8-5bf9,U+5bfc,U+5c01,U+5c04,U+5c06,U+5c0f,U+5c11,U+5c1a,U+5c31,U+5c3e,U+5c40,U+5c42,U+5c45,U+5c49,U+5c4b,U+5c4f,U+5c55,U+5c5e,U+5c71,U+5c81,U+5cf0,U+5dde,U+5de5,U+5de8,U+5df1-5df2,U+5df4,U+5e02-5e03,U+5e08,U+5e26,U+5e2e,U+5e38,U+5e3d,U+5e55,U+5e72-5e74,U+5e76,U+5e7b-5e7c,U+5e8f,U+5e93-5e95,U+5ea6-5ea7,U+5ead,U+5eb7,U+5ef6,U+5efa,U+5f00,U+5f02,U+5f04,U+5f0f,U+5f1f-5f20,U+5f39-5f3a,U+5f52-5f53,U+5f55}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-serif-400-02-f87b84.woff2) format("woff2");unicode-range:U+5f62,U+5f71,U+5f7c,U+5f80,U+5f84-5f85,U+5f88,U+5f8b,U+5f90,U+5f97,U+5f99,U+5faa,U+5fae,U+5fc3,U+5fc5-5fc6,U+5fcc,U+5fd7,U+5fd9,U+5feb,U+5ff5,U+6001,U+600e,U+6025,U+6027,U+603b,U+6050,U+6052,U+6062,U+606f,U+60c5,U+60e9,U+60ef,U+60f3,U+610f,U+611f,U+613f,U+6162,U+6167,U+6210-6211,U+6216,U+622a,U+6237,U+623f-6240,U+624b,U+624d,U+6253,U+6263,U+6267,U+626b,U+6270,U+6279,U+627e-627f,U+628a,U+6295,U+6298,U+62a4-62a5,U+62b1,U+62b5,U+62bd,U+62c5-62c6,U+62c9,U+62cc-62cd,U+62db,U+62e8-62e9,U+62fc,U+62fe,U+6301-6302,U+6307,U+6309,U+6311,U+635f,U+6362,U+636e,U+6377,U+638c,U+6392,U+63a5,U+63a7-63a8,U+63d0,U+63d2,U+63e1,U+641c,U+642c-642d,U+6469,U+6492,U+64a4,U+64cd,U+64e6,U+6525,U+652f,U+6536,U+6539,U+653e,U+6545,U+6548,U+654f,U+6559,U+6563,U+6570,U+6574,U+6587,U+6599,U+65ad,U+65b0,U+65b9,U+65bd,U+65c5,U+65cf,U+65e0,U+65e5,U+65e7,U+65e9,U+65f6,U+660c,U+660e,U+661f,U+6625,U+6628,U+662f,U+663e,U+665a,U+6668,U+666e-6670,U+6674,U+667a,U+6682,U+6696,U+66f2,U+66f4,U+66ff-6700,U+6708-6709,U+670b,U+670d,U+6717,U+671f,U+6728,U+672a-672c,U+672f,U+673a,U+6743,U+6750,U+6761,U+6765,U+676d,U+677f,U+6784,U+6790,U+6797,U+679c-679d,U+67a2,U+67b6,U+67d4,U+67dc,U+67e5,U+6807,U+6811,U+6816-6817,U+6821,U+6837-6839,U+683c,U+6842,U+6846,U+6848,U+684c,U+6850,U+6854,U+6863,U+6885,U+6897,U+68a7,U+68c0,U+68f5,U+690d-690e,U+6912,U+695a,U+6963,U+697c,U+6982,U+6984,U+6a1f,U+6a21,U+6a44,U+6a71,U+6b21-6b22,U+6b3e,U+6b62-6b65,U+6b67,U+6bb5,U+6bcd,U+6bcf,U+6bd4,U+6c11,U+6c14,U+6c34}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-serif-400-03-c26407.woff2) format("woff2");unicode-range:U+6c41-6c42,U+6c47,U+6c5f-6c60,U+6c64,U+6c88-6c89,U+6c9f,U+6ca1,U+6caa,U+6cb9,U+6cd5,U+6ce2,U+6ce8,U+6cf0,U+6d0b,U+6d17,U+6d3b,U+6d41,U+6d46-6d47,U+6d4b,U+6d4f,U+6d59,U+6d6a,U+6d6e,U+6d77,U+6d88-6d89,U+6db2,U+6dc0,U+6de1,U+6df1,U+6dfb,U+6e05,U+6e20-6e21,U+6e29,U+6e2f,U+6e38,U+6e56,U+6e90,U+6eaf,U+6ed1,U+6f0f,U+6f14,U+6fc0,U+706b,U+706f-7070,U+7089,U+7092,U+7096,U+70b9,U+70d8,U+70e4,U+70e7,U+70ed,U+7116,U+7126,U+712f,U+7136,U+714e,U+7167,U+716e,U+71ac,U+71c3,U+71d5,U+722c,U+7231,U+7236-7237,U+7247-7248,U+724c,U+7259,U+725b,U+7261,U+7269,U+7275,U+7279,U+72b6,U+72ec,U+72ee,U+732b,U+732e,U+7384,U+7387,U+738b,U+73a9,U+73af-73b0,U+73cd,U+73e0,U+73ed,U+7406,U+7434,U+7436,U+74f6,U+751f,U+7528,U+7531,U+7533,U+7535,U+7537,U+753b,U+754c,U+7554,U+7559,U+7565,U+756a,U+7591,U+7597,U+75ab,U+75be,U+75c5,U+75c7,U+75d5,U+75db,U+767b,U+767d-767e,U+7684,U+76ae,U+76c8,U+76ca,U+76d0-76d2,U+76d6,U+76d8,U+76db,U+76ee,U+76f4,U+76f8,U+770b,U+771f-7720,U+773c,U+7740,U+7761,U+77e5,U+77e9,U+77ed,U+77f3,U+7801-7802,U+7814,U+781a,U+7840,U+7855,U+786e,U+7891,U+7897,U+78b0,U+78b3,U+78e8,U+793a,U+793c,U+793e,U+7956,U+7968,U+7981,U+79bb,U+79be,U+79c0-79c1,U+79cb,U+79cd,U+79d1-79d2,U+79df,U+79e4,U+79ef-79f0,U+79fb,U+7a0b,U+7a33,U+7a3f,U+7a76,U+7a7a,U+7a81,U+7a97,U+7acb,U+7ad9,U+7ae0,U+7ae5,U+7aef,U+7b14,U+7b26,U+7b2c,U+7b3c,U+7b49,U+7b51,U+7b56,U+7b5b,U+7b7e,U+7b80,U+7b97,U+7ba1,U+7bb1,U+7bee,U+7c3f,U+7c73,U+7c7b,U+7c7d,U+7ca5,U+7cae,U+7cd5-7cd6,U+7cfb,U+7d0a,U+7d20,U+7d22,U+7d2f,U+7ea2,U+7ea4,U+7ea6-7ea7}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-serif-400-04-7efd64.woff2) format("woff2");unicode-range:U+7eaa,U+7eaf,U+7eb3,U+7eb8,U+7ebf,U+7ec3-7ec4,U+7ec6-7ec8,U+7ecd,U+7ecf,U+7ed3,U+7ed8-7ed9,U+7edc,U+7edf,U+7ee7,U+7ee9-7eea,U+7eed,U+7ef4,U+7f16,U+7f29,U+7f2e,U+7f34,U+7f3a,U+7f51,U+7f6e,U+7f72,U+7f8a,U+7f8e,U+7fa4,U+7faf,U+7fe0-7fe1,U+7ffb,U+8001,U+8003,U+8005,U+800c,U+8015,U+8017,U+804a,U+804c,U+8054,U+805a,U+807f,U+8089,U+8096,U+809d,U+80a1,U+80a9-80aa,U+80b2,U+80c3,U+80cc,U+80e1,U+80f8,U+80fd,U+8102,U+8109,U+8111,U+811a,U+8131,U+814c,U+8150,U+8170,U+817e,U+818f,U+819d,U+81b3,U+81ea,U+81f3-81f4,U+821e,U+822a,U+8231,U+8272,U+827a,U+8282,U+8292,U+82b1,U+82bd,U+82cf,U+82d7,U+82f1,U+8303-8304,U+8336,U+8349,U+8350,U+836f,U+8393,U+83b7,U+83dc,U+8425,U+843d,U+8471,U+84c4,U+852c,U+85cf,U+867e,U+8681-8682,U+86cb,U+874e,U+878d,U+87f9,U+8840,U+884c,U+8854,U+8861-8863,U+8865,U+8868,U+888b,U+88ab,U+88c5,U+88d5,U+897f,U+8981,U+8986,U+89c1-89c2,U+89c4,U+89c6,U+89c8-89c9,U+89d2,U+89e3,U+89e6,U+8a00,U+8b66,U+8ba1-8ba2,U+8ba4,U+8ba9,U+8bad-8bb0,U+8bb2,U+8bb8,U+8bba,U+8bbe-8bbf,U+8bc1,U+8bc4,U+8bc6,U+8bc9-8bca,U+8bcd,U+8bd5,U+8bdd,U+8be2,U+8be5-8be6,U+8bed,U+8bef,U+8bf4,U+8bf7,U+8bfa-8bfb,U+8bfe,U+8c01,U+8c03,U+8c13,U+8c28,U+8c31,U+8c41,U+8c46,U+8c61,U+8d1f,U+8d21-8d23,U+8d25-8d28,U+8d2d,U+8d34-8d35,U+8d37,U+8d39,U+8d44,U+8d6b,U+8d70,U+8d75,U+8d77,U+8d85,U+8d8b,U+8da3,U+8db3,U+8dc3,U+8dd1,U+8ddd,U+8ddf,U+8de8,U+8def,U+8e2a,U+8eab,U+8f66,U+8f68,U+8f6c,U+8f6e-8f6f,U+8f74,U+8f7b,U+8f83,U+8f85-8f86,U+8f88,U+8f91,U+8f93,U+8fb9,U+8fbe,U+8fc1}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-serif-400-05-12fb8f.woff2) format("woff2");unicode-range:U+8fc7,U+8fd0-8fd1,U+8fd4,U+8fd8-8fd9,U+8fdb-8fdc,U+8fde,U+8ff0,U+8ff9,U+8ffd,U+9000-9002,U+9009,U+9010,U+9012,U+9014,U+901a-901b,U+901f-9020,U+9022,U+903e,U+9053,U+9057,U+907f,U+90a3,U+90a6,U+90bb,U+90e8,U+90fd,U+914d,U+9192,U+91c7,U+91cc-91cd,U+91cf,U+91d1,U+9274,U+9488,U+9499,U+949f,U+94a2,U+94a5,U+94b1,U+94f6,U+9500,U+9505,U+9519,U+952e,U+9547,U+955c,U+956f,U+957f,U+95e8,U+95ed-95ee,U+95f2,U+95f4,U+95fb,U+9605,U+961f,U+9633,U+9635-9636,U+963f,U+9644-9645,U+9648,U+964d,U+9650,U+9662,U+9664,U+9669-966a,U+968f-9690,U+9694,U+969c,U+96c5-96c6,U+96e8,U+96ea,U+9700,U+9732,U+9752,U+9759,U+975e,U+9760,U+9762,U+97f3,U+9875,U+9879,U+987e-987f,U+9884,U+9886,U+9891,U+9897-9898,U+989c-989d,U+98ce,U+98df,U+9910,U+996d-996e,U+9988,U+9996,U+9999,U+9a6c,U+9a8c,U+9aa8,U+9ad8,U+9c7c,U+9c9c,U+9e21,U+9ea6,U+9ec4,U+9ed1,U+9ed8,U+9f13,U+9f99,U+ff01,U+ff08-ff09,U+ff0c,U+ff1a-ff1b,U+ff1f,U+ffe5}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-serif-500-00-7f31d3.woff2) format("woff2");unicode-range:U+25,U+2b,U+2f-39,U+b7,U+2014,U+2018-2019,U+201c-201d,U+2026,U+3001-3002,U+3008-300b,U+3010-3011,U+4e00,U+4e07,U+4e09-4e0b,U+4e0d-4e0e,U+4e13-4e14,U+4e1a,U+4e1c-4e1d,U+4e24-4e25,U+4e2a,U+4e2d,U+4e30,U+4e34,U+4e39-4e3b,U+4e3e,U+4e45,U+4e48-4e49,U+4e4b,U+4e50,U+4e54,U+4e5f-4e60,U+4e66,U+4e70,U+4e86,U+4e88,U+4e8b-4e8c,U+4e8e-4e8f,U+4e91-4e92,U+4e94-4e95,U+4e9b,U+4ea4,U+4ea7,U+4eab,U+4ead-4eae,U+4eb2,U+4eba,U+4ebf-4ec1,U+4ec5,U+4eca-4ecb,U+4ecd-4ece,U+4ed3,U+4ed6,U+4ed8,U+4ee3,U+4ee5,U+4eea,U+4eec,U+4ef6-4ef7,U+4efb,U+4efd,U+4f11,U+4f18-4f1a,U+4f20,U+4f24,U+4f30,U+4f34,U+4f3c,U+4f46,U+4f4d-4f4f,U+4f53,U+4f55,U+4f59,U+4f5c,U+4f60,U+4f7f,U+4f8b,U+4f8d,U+4f9b,U+4f9d,U+4fa7,U+4fbf,U+4fdd,U+4fe1,U+4fee,U+5012,U+5019,U+501f,U+503a,U+503c,U+5047,U+504f,U+505a,U+505c,U+5065,U+5076-5077,U+507f,U+5085,U+50a8,U+50cf,U+513f,U+5141,U+5143,U+5145,U+5148,U+514b,U+514d,U+5165,U+5168,U+516b-516d,U+5170-5171,U+5173-5174,U+5176-5177,U+517b-517c,U+5185,U+518c-518d,U+5199,U+519b,U+51b0,U+51b2-51b3,U+51b5,U+51b7,U+51bb,U+51c0,U+51c6,U+51c9,U+51cc,U+51cf,U+51d1,U+51e0,U+51ed,U+51fa-51fb,U+5206-5207,U+5212,U+5217,U+5219-521b,U+521d,U+5220,U+5229,U+522b,U+5230,U+5236,U+5238,U+524d,U+5269,U+529b,U+529e-52a1,U+52a8-52a9,U+52b1,U+52b3,U+52bf,U+52fe,U+5305,U+5316-5317,U+5339-533b,U+5343,U+5347-5348,U+534a,U+534e}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-serif-500-01-a1644c.woff2) format("woff2");unicode-range:U+5355-5357,U+5360-5361,U+5367,U+536b,U+5373,U+5385-5386,U+538b,U+539f,U+53a8,U+53bb,U+53c2,U+53ca-53cd,U+53d1,U+53d6-53d8,U+53e3,U+53e5,U+53ea-53eb,U+53ef-53f0,U+53f2,U+53f7-53f8,U+5403-5404,U+5408,U+540c-540e,U+5411,U+5426,U+542b-542c,U+542f,U+5434,U+5438,U+543e,U+544a,U+5458,U+5468,U+5473,U+547c-547d,U+548c,U+5496,U+54a8,U+54b3,U+54c1,U+54c8,U+54e5,U+54ea,U+5546,U+5561,U+5578,U+5584,U+559c,U+5609,U+5631,U+5668,U+56db,U+56de,U+56e0,U+56e2,U+56ed,U+56f4,U+56fa,U+56fd-56fe,U+5706,U+571f,U+5728,U+5730,U+573a,U+5740,U+5747,U+574f-5750,U+5757,U+575a,U+578b,U+57df,U+57fa,U+5802,U+5858,U+586b,U+5883,U+5899,U+589e,U+58c1,U+58eb,U+5904,U+5907,U+590d,U+5916,U+591a,U+591c,U+5927,U+5929-592b,U+592e,U+5931,U+5934,U+5947,U+5949,U+594f,U+5954,U+5956-5957,U+5973,U+5976,U+5979,U+597d,U+5982,U+5988,U+59b9,U+59bb,U+59cb,U+59d0,U+59d3,U+59e8,U+5a31,U+5a5a,U+5a74,U+5b50,U+5b57-5b58,U+5b63,U+5b66,U+5b69,U+5b85,U+5b88-5b89,U+5b8c,U+5b9a,U+5b9d-5b9e,U+5ba1-5ba2,U+5ba4,U+5bb5-5bb6,U+5bb9,U+5bbf,U+5bc6,U+5bcc,U+5bd3,U+5bdf,U+5bf8-5bf9,U+5bfc,U+5c01,U+5c04,U+5c06,U+5c0f,U+5c11,U+5c1a,U+5c31,U+5c3e,U+5c40,U+5c42,U+5c45,U+5c49,U+5c4b,U+5c4f,U+5c55,U+5c5e,U+5c71,U+5c81,U+5cf0,U+5dde,U+5de5,U+5de8,U+5df1-5df2,U+5df4,U+5e02-5e03,U+5e08,U+5e26,U+5e2e,U+5e38,U+5e3d,U+5e55,U+5e72-5e74,U+5e76,U+5e7b-5e7c,U+5e8f,U+5e93-5e95,U+5ea6-5ea7,U+5ead,U+5eb7,U+5ef6,U+5efa,U+5f00,U+5f02,U+5f04,U+5f0f,U+5f1f-5f20,U+5f39-5f3a,U+5f52-5f53,U+5f55}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-serif-500-02-f87b84.woff2) format("woff2");unicode-range:U+5f62,U+5f71,U+5f7c,U+5f80,U+5f84-5f85,U+5f88,U+5f8b,U+5f90,U+5f97,U+5f99,U+5faa,U+5fae,U+5fc3,U+5fc5-5fc6,U+5fcc,U+5fd7,U+5fd9,U+5feb,U+5ff5,U+6001,U+600e,U+6025,U+6027,U+603b,U+6050,U+6052,U+6062,U+606f,U+60c5,U+60e9,U+60ef,U+60f3,U+610f,U+611f,U+613f,U+6162,U+6167,U+6210-6211,U+6216,U+622a,U+6237,U+623f-6240,U+624b,U+624d,U+6253,U+6263,U+6267,U+626b,U+6270,U+6279,U+627e-627f,U+628a,U+6295,U+6298,U+62a4-62a5,U+62b1,U+62b5,U+62bd,U+62c5-62c6,U+62c9,U+62cc-62cd,U+62db,U+62e8-62e9,U+62fc,U+62fe,U+6301-6302,U+6307,U+6309,U+6311,U+635f,U+6362,U+636e,U+6377,U+638c,U+6392,U+63a5,U+63a7-63a8,U+63d0,U+63d2,U+63e1,U+641c,U+642c-642d,U+6469,U+6492,U+64a4,U+64cd,U+64e6,U+6525,U+652f,U+6536,U+6539,U+653e,U+6545,U+6548,U+654f,U+6559,U+6563,U+6570,U+6574,U+6587,U+6599,U+65ad,U+65b0,U+65b9,U+65bd,U+65c5,U+65cf,U+65e0,U+65e5,U+65e7,U+65e9,U+65f6,U+660c,U+660e,U+661f,U+6625,U+6628,U+662f,U+663e,U+665a,U+6668,U+666e-6670,U+6674,U+667a,U+6682,U+6696,U+66f2,U+66f4,U+66ff-6700,U+6708-6709,U+670b,U+670d,U+6717,U+671f,U+6728,U+672a-672c,U+672f,U+673a,U+6743,U+6750,U+6761,U+6765,U+676d,U+677f,U+6784,U+6790,U+6797,U+679c-679d,U+67a2,U+67b6,U+67d4,U+67dc,U+67e5,U+6807,U+6811,U+6816-6817,U+6821,U+6837-6839,U+683c,U+6842,U+6846,U+6848,U+684c,U+6850,U+6854,U+6863,U+6885,U+6897,U+68a7,U+68c0,U+68f5,U+690d-690e,U+6912,U+695a,U+6963,U+697c,U+6982,U+6984,U+6a1f,U+6a21,U+6a44,U+6a71,U+6b21-6b22,U+6b3e,U+6b62-6b65,U+6b67,U+6bb5,U+6bcd,U+6bcf,U+6bd4,U+6c11,U+6c14,U+6c34}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-serif-500-03-c26407.woff2) format("woff2");unicode-range:U+6c41-6c42,U+6c47,U+6c5f-6c60,U+6c64,U+6c88-6c89,U+6c9f,U+6ca1,U+6caa,U+6cb9,U+6cd5,U+6ce2,U+6ce8,U+6cf0,U+6d0b,U+6d17,U+6d3b,U+6d41,U+6d46-6d47,U+6d4b,U+6d4f,U+6d59,U+6d6a,U+6d6e,U+6d77,U+6d88-6d89,U+6db2,U+6dc0,U+6de1,U+6df1,U+6dfb,U+6e05,U+6e20-6e21,U+6e29,U+6e2f,U+6e38,U+6e56,U+6e90,U+6eaf,U+6ed1,U+6f0f,U+6f14,U+6fc0,U+706b,U+706f-7070,U+7089,U+7092,U+7096,U+70b9,U+70d8,U+70e4,U+70e7,U+70ed,U+7116,U+7126,U+712f,U+7136,U+714e,U+7167,U+716e,U+71ac,U+71c3,U+71d5,U+722c,U+7231,U+7236-7237,U+7247-7248,U+724c,U+7259,U+725b,U+7261,U+7269,U+7275,U+7279,U+72b6,U+72ec,U+72ee,U+732b,U+732e,U+7384,U+7387,U+738b,U+73a9,U+73af-73b0,U+73cd,U+73e0,U+73ed,U+7406,U+7434,U+7436,U+74f6,U+751f,U+7528,U+7531,U+7533,U+7535,U+7537,U+753b,U+754c,U+7554,U+7559,U+7565,U+756a,U+7591,U+7597,U+75ab,U+75be,U+75c5,U+75c7,U+75d5,U+75db,U+767b,U+767d-767e,U+7684,U+76ae,U+76c8,U+76ca,U+76d0-76d2,U+76d6,U+76d8,U+76db,U+76ee,U+76f4,U+76f8,U+770b,U+771f-7720,U+773c,U+7740,U+7761,U+77e5,U+77e9,U+77ed,U+77f3,U+7801-7802,U+7814,U+781a,U+7840,U+7855,U+786e,U+7891,U+7897,U+78b0,U+78b3,U+78e8,U+793a,U+793c,U+793e,U+7956,U+7968,U+7981,U+79bb,U+79be,U+79c0-79c1,U+79cb,U+79cd,U+79d1-79d2,U+79df,U+79e4,U+79ef-79f0,U+79fb,U+7a0b,U+7a33,U+7a3f,U+7a76,U+7a7a,U+7a81,U+7a97,U+7acb,U+7ad9,U+7ae0,U+7ae5,U+7aef,U+7b14,U+7b26,U+7b2c,U+7b3c,U+7b49,U+7b51,U+7b56,U+7b5b,U+7b7e,U+7b80,U+7b97,U+7ba1,U+7bb1,U+7bee,U+7c3f,U+7c73,U+7c7b,U+7c7d,U+7ca5,U+7cae,U+7cd5-7cd6,U+7cfb,U+7d0a,U+7d20,U+7d22,U+7d2f,U+7ea2,U+7ea4,U+7ea6-7ea7}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-serif-500-04-7efd64.woff2) format("woff2");unicode-range:U+7eaa,U+7eaf,U+7eb3,U+7eb8,U+7ebf,U+7ec3-7ec4,U+7ec6-7ec8,U+7ecd,U+7ecf,U+7ed3,U+7ed8-7ed9,U+7edc,U+7edf,U+7ee7,U+7ee9-7eea,U+7eed,U+7ef4,U+7f16,U+7f29,U+7f2e,U+7f34,U+7f3a,U+7f51,U+7f6e,U+7f72,U+7f8a,U+7f8e,U+7fa4,U+7faf,U+7fe0-7fe1,U+7ffb,U+8001,U+8003,U+8005,U+800c,U+8015,U+8017,U+804a,U+804c,U+8054,U+805a,U+807f,U+8089,U+8096,U+809d,U+80a1,U+80a9-80aa,U+80b2,U+80c3,U+80cc,U+80e1,U+80f8,U+80fd,U+8102,U+8109,U+8111,U+811a,U+8131,U+814c,U+8150,U+8170,U+817e,U+818f,U+819d,U+81b3,U+81ea,U+81f3-81f4,U+821e,U+822a,U+8231,U+8272,U+827a,U+8282,U+8292,U+82b1,U+82bd,U+82cf,U+82d7,U+82f1,U+8303-8304,U+8336,U+8349,U+8350,U+836f,U+8393,U+83b7,U+83dc,U+8425,U+843d,U+8471,U+84c4,U+852c,U+85cf,U+867e,U+8681-8682,U+86cb,U+874e,U+878d,U+87f9,U+8840,U+884c,U+8854,U+8861-8863,U+8865,U+8868,U+888b,U+88ab,U+88c5,U+88d5,U+897f,U+8981,U+8986,U+89c1-89c2,U+89c4,U+89c6,U+89c8-89c9,U+89d2,U+89e3,U+89e6,U+8a00,U+8b66,U+8ba1-8ba2,U+8ba4,U+8ba9,U+8bad-8bb0,U+8bb2,U+8bb8,U+8bba,U+8bbe-8bbf,U+8bc1,U+8bc4,U+8bc6,U+8bc9-8bca,U+8bcd,U+8bd5,U+8bdd,U+8be2,U+8be5-8be6,U+8bed,U+8bef,U+8bf4,U+8bf7,U+8bfa-8bfb,U+8bfe,U+8c01,U+8c03,U+8c13,U+8c28,U+8c31,U+8c41,U+8c46,U+8c61,U+8d1f,U+8d21-8d23,U+8d25-8d28,U+8d2d,U+8d34-8d35,U+8d37,U+8d39,U+8d44,U+8d6b,U+8d70,U+8d75,U+8d77,U+8d85,U+8d8b,U+8da3,U+8db3,U+8dc3,U+8dd1,U+8ddd,U+8ddf,U+8de8,U+8def,U+8e2a,U+8eab,U+8f66,U+8f68,U+8f6c,U+8f6e-8f6f,U+8f74,U+8f7b,U+8f83,U+8f85-8f86,U+8f88,U+8f91,U+8f93,U+8fb9,U+8fbe,U+8fc1}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-serif-500-05-12fb8f.woff2) format("woff2");unicode-range:U+8fc7,U+8fd0-8fd1,U+8fd4,U+8fd8-8fd9,U+8fdb-8fdc,U+8fde,U+8ff0,U+8ff9,U+8ffd,U+9000-9002,U+9009,U+9010,U+9012,U+9014,U+901a-901b,U+901f-9020,U+9022,U+903e,U+9053,U+9057,U+907f,U+90a3,U+90a6,U+90bb,U+90e8,U+90fd,U+914d,U+9192,U+91c7,U+91cc-91cd,U+91cf,U+91d1,U+9274,U+9488,U+9499,U+949f,U+94a2,U+94a5,U+94b1,U+94f6,U+9500,U+9505,U+9519,U+952e,U+9547,U+955c,U+956f,U+957f,U+95e8,U+95ed-95ee,U+95f2,U+95f4,U+95fb,U+9605,U+961f,U+9633,U+9635-9636,U+963f,U+9644-9645,U+9648,U+964d,U+9650,U+9662,U+9664,U+9669-966a,U+968f-9690,U+9694,U+969c,U+96c5-96c6,U+96e8,U+96ea,U+9700,U+9732,U+9752,U+9759,U+975e,U+9760,U+9762,U+97f3,U+9875,U+9879,U+987e-987f,U+9884,U+9886,U+9891,U+9897-9898,U+989c-989d,U+98ce,U+98df,U+9910,U+996d-996e,U+9988,U+9996,U+9999,U+9a6c,U+9a8c,U+9aa8,U+9ad8,U+9c7c,U+9c9c,U+9e21,U+9ea6,U+9ec4,U+9ed1,U+9ed8,U+9f13,U+9f99,U+ff01,U+ff08-ff09,U+ff0c,U+ff1a-ff1b,U+ff1f,U+ffe5}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/noto-serif-600-00-7f31d3.woff2) format("woff2");unicode-range:U+25,U+2b,U+2f-39,U+b7,U+2014,U+2018-2019,U+201c-201d,U+2026,U+3001-3002,U+3008-300b,U+3010-3011,U+4e00,U+4e07,U+4e09-4e0b,U+4e0d-4e0e,U+4e13-4e14,U+4e1a,U+4e1c-4e1d,U+4e24-4e25,U+4e2a,U+4e2d,U+4e30,U+4e34,U+4e39-4e3b,U+4e3e,U+4e45,U+4e48-4e49,U+4e4b,U+4e50,U+4e54,U+4e5f-4e60,U+4e66,U+4e70,U+4e86,U+4e88,U+4e8b-4e8c,U+4e8e-4e8f,U+4e91-4e92,U+4e94-4e95,U+4e9b,U+4ea4,U+4ea7,U+4eab,U+4ead-4eae,U+4eb2,U+4eba,U+4ebf-4ec1,U+4ec5,U+4eca-4ecb,U+4ecd-4ece,U+4ed3,U+4ed6,U+4ed8,U+4ee3,U+4ee5,U+4eea,U+4eec,U+4ef6-4ef7,U+4efb,U+4efd,U+4f11,U+4f18-4f1a,U+4f20,U+4f24,U+4f30,U+4f34,U+4f3c,U+4f46,U+4f4d-4f4f,U+4f53,U+4f55,U+4f59,U+4f5c,U+4f60,U+4f7f,U+4f8b,U+4f8d,U+4f9b,U+4f9d,U+4fa7,U+4fbf,U+4fdd,U+4fe1,U+4fee,U+5012,U+5019,U+501f,U+503a,U+503c,U+5047,U+504f,U+505a,U+505c,U+5065,U+5076-5077,U+507f,U+5085,U+50a8,U+50cf,U+513f,U+5141,U+5143,U+5145,U+5148,U+514b,U+514d,U+5165,U+5168,U+516b-516d,U+5170-5171,U+5173-5174,U+5176-5177,U+517b-517c,U+5185,U+518c-518d,U+5199,U+519b,U+51b0,U+51b2-51b3,U+51b5,U+51b7,U+51bb,U+51c0,U+51c6,U+51c9,U+51cc,U+51cf,U+51d1,U+51e0,U+51ed,U+51fa-51fb,U+5206-5207,U+5212,U+5217,U+5219-521b,U+521d,U+5220,U+5229,U+522b,U+5230,U+5236,U+5238,U+524d,U+5269,U+529b,U+529e-52a1,U+52a8-52a9,U+52b1,U+52b3,U+52bf,U+52fe,U+5305,U+5316-5317,U+5339-533b,U+5343,U+5347-5348,U+534a,U+534e}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/noto-serif-600-01-a1644c.woff2) format("woff2");unicode-range:U+5355-5357,U+5360-5361,U+5367,U+536b,U+5373,U+5385-5386,U+538b,U+539f,U+53a8,U+53bb,U+53c2,U+53ca-53cd,U+53d1,U+53d6-53d8,U+53e3,U+53e5,U+53ea-53eb,U+53ef-53f0,U+53f2,U+53f7-53f8,U+5403-5404,U+5408,U+540c-540e,U+5411,U+5426,U+542b-542c,U+542f,U+5434,U+5438,U+543e,U+544a,U+5458,U+5468,U+5473,U+547c-547d,U+548c,U+5496,U+54a8,U+54b3,U+54c1,U+54c8,U+54e5,U+54ea,U+5546,U+5561,U+5578,U+5584,U+559c,U+5609,U+5631,U+5668,U+56db,U+56de,U+56e0,U+56e2,U+56ed,U+56f4,U+56fa,U+56fd-56fe,U+5706,U+571f,U+5728,U+5730,U+573a,U+5740,U+5747,U+574f-5750,U+5757,U+575a,U+578b,U+57df,U+57fa,U+5802,U+5858,U+586b,U+5883,U+5899,U+589e,U+58c1,U+58eb,U+5904,U+5907,U+590d,U+5916,U+591a,U+591c,U+5927,U+5929-592b,U+592e,U+5931,U+5934,U+5947,U+5949,U+594f,U+5954,U+5956-5957,U+5973,U+5976,U+5979,U+597d,U+5982,U+5988,U+59b9,U+59bb,U+59cb,U+59d0,U+59d3,U+59e8,U+5a31,U+5a5a,U+5a74,U+5b50,U+5b57-5b58,U+5b63,U+5b66,U+5b69,U+5b85,U+5b88-5b89,U+5b8c,U+5b9a,U+5b9d-5b9e,U+5ba1-5ba2,U+5ba4,U+5bb5-5bb6,U+5bb9,U+5bbf,U+5bc6,U+5bcc,U+5bd3,U+5bdf,U+5bf8-5bf9,U+5bfc,U+5c01,U+5c04,U+5c06,U+5c0f,U+5c11,U+5c1a,U+5c31,U+5c3e,U+5c40,U+5c42,U+5c45,U+5c49,U+5c4b,U+5c4f,U+5c55,U+5c5e,U+5c71,U+5c81,U+5cf0,U+5dde,U+5de5,U+5de8,U+5df1-5df2,U+5df4,U+5e02-5e03,U+5e08,U+5e26,U+5e2e,U+5e38,U+5e3d,U+5e55,U+5e72-5e74,U+5e76,U+5e7b-5e7c,U+5e8f,U+5e93-5e95,U+5ea6-5ea7,U+5ead,U+5eb7,U+5ef6,U+5efa,U+5f00,U+5f02,U+5f04,U+5f0f,U+5f1f-5f20,U+5f39-5f3a,U+5f52-5f53,U+5f55}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/noto-serif-600-02-f87b84.woff2) format("woff2");unicode-range:U+5f62,U+5f71,U+5f7c,U+5f80,U+5f84-5f85,U+5f88,U+5f8b,U+5f90,U+5f97,U+5f99,U+5faa,U+5fae,U+5fc3,U+5fc5-5fc6,U+5fcc,U+5fd7,U+5fd9,U+5feb,U+5ff5,U+6001,U+600e,U+6025,U+6027,U+603b,U+6050,U+6052,U+6062,U+606f,U+60c5,U+60e9,U+60ef,U+60f3,U+610f,U+611f,U+613f,U+6162,U+6167,U+6210-6211,U+6216,U+622a,U+6237,U+623f-6240,U+624b,U+624d,U+6253,U+6263,U+6267,U+626b,U+6270,U+6279,U+627e-627f,U+628a,U+6295,U+6298,U+62a4-62a5,U+62b1,U+62b5,U+62bd,U+62c5-62c6,U+62c9,U+62cc-62cd,U+62db,U+62e8-62e9,U+62fc,U+62fe,U+6301-6302,U+6307,U+6309,U+6311,U+635f,U+6362,U+636e,U+6377,U+638c,U+6392,U+63a5,U+63a7-63a8,U+63d0,U+63d2,U+63e1,U+641c,U+642c-642d,U+6469,U+6492,U+64a4,U+64cd,U+64e6,U+6525,U+652f,U+6536,U+6539,U+653e,U+6545,U+6548,U+654f,U+6559,U+6563,U+6570,U+6574,U+6587,U+6599,U+65ad,U+65b0,U+65b9,U+65bd,U+65c5,U+65cf,U+65e0,U+65e5,U+65e7,U+65e9,U+65f6,U+660c,U+660e,U+661f,U+6625,U+6628,U+662f,U+663e,U+665a,U+6668,U+666e-6670,U+6674,U+667a,U+6682,U+6696,U+66f2,U+66f4,U+66ff-6700,U+6708-6709,U+670b,U+670d,U+6717,U+671f,U+6728,U+672a-672c,U+672f,U+673a,U+6743,U+6750,U+6761,U+6765,U+676d,U+677f,U+6784,U+6790,U+6797,U+679c-679d,U+67a2,U+67b6,U+67d4,U+67dc,U+67e5,U+6807,U+6811,U+6816-6817,U+6821,U+6837-6839,U+683c,U+6842,U+6846,U+6848,U+684c,U+6850,U+6854,U+6863,U+6885,U+6897,U+68a7,U+68c0,U+68f5,U+690d-690e,U+6912,U+695a,U+6963,U+697c,U+6982,U+6984,U+6a1f,U+6a21,U+6a44,U+6a71,U+6b21-6b22,U+6b3e,U+6b62-6b65,U+6b67,U+6bb5,U+6bcd,U+6bcf,U+6bd4,U+6c11,U+6c14,U+6c34}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/noto-serif-600-03-c26407.woff2) format("woff2");unicode-range:U+6c41-6c42,U+6c47,U+6c5f-6c60,U+6c64,U+6c88-6c89,U+6c9f,U+6ca1,U+6caa,U+6cb9,U+6cd5,U+6ce2,U+6ce8,U+6cf0,U+6d0b,U+6d17,U+6d3b,U+6d41,U+6d46-6d47,U+6d4b,U+6d4f,U+6d59,U+6d6a,U+6d6e,U+6d77,U+6d88-6d89,U+6db2,U+6dc0,U+6de1,U+6df1,U+6dfb,U+6e05,U+6e20-6e21,U+6e29,U+6e2f,U+6e38,U+6e56,U+6e90,U+6eaf,U+6ed1,U+6f0f,U+6f14,U+6fc0,U+706b,U+706f-7070,U+7089,U+7092,U+7096,U+70b9,U+70d8,U+70e4,U+70e7,U+70ed,U+7116,U+7126,U+712f,U+7136,U+714e,U+7167,U+716e,U+71ac,U+71c3,U+71d5,U+722c,U+7231,U+7236-7237,U+7247-7248,U+724c,U+7259,U+725b,U+7261,U+7269,U+7275,U+7279,U+72b6,U+72ec,U+72ee,U+732b,U+732e,U+7384,U+7387,U+738b,U+73a9,U+73af-73b0,U+73cd,U+73e0,U+73ed,U+7406,U+7434,U+7436,U+74f6,U+751f,U+7528,U+7531,U+7533,U+7535,U+7537,U+753b,U+754c,U+7554,U+7559,U+7565,U+756a,U+7591,U+7597,U+75ab,U+75be,U+75c5,U+75c7,U+75d5,U+75db,U+767b,U+767d-767e,U+7684,U+76ae,U+76c8,U+76ca,U+76d0-76d2,U+76d6,U+76d8,U+76db,U+76ee,U+76f4,U+76f8,U+770b,U+771f-7720,U+773c,U+7740,U+7761,U+77e5,U+77e9,U+77ed,U+77f3,U+7801-7802,U+7814,U+781a,U+7840,U+7855,U+786e,U+7891,U+7897,U+78b0,U+78b3,U+78e8,U+793a,U+793c,U+793e,U+7956,U+7968,U+7981,U+79bb,U+79be,U+79c0-79c1,U+79cb,U+79cd,U+79d1-79d2,U+79df,U+79e4,U+79ef-79f0,U+79fb,U+7a0b,U+7a33,U+7a3f,U+7a76,U+7a7a,U+7a81,U+7a97,U+7acb,U+7ad9,U+7ae0,U+7ae5,U+7aef,U+7b14,U+7b26,U+7b2c,U+7b3c,U+7b49,U+7b51,U+7b56,U+7b5b,U+7b7e,U+7b80,U+7b97,U+7ba1,U+7bb1,U+7bee,U+7c3f,U+7c73,U+7c7b,U+7c7d,U+7ca5,U+7cae,U+7cd5-7cd6,U+7cfb,U+7d0a,U+7d20,U+7d22,U+7d2f,U+7ea2,U+7ea4,U+7ea6-7ea7}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/noto-serif-600-04-7efd64.woff2) format("woff2");unicode-range:U+7eaa,U+7eaf,U+7eb3,U+7eb8,U+7ebf,U+7ec3-7ec4,U+7ec6-7ec8,U+7ecd,U+7ecf,U+7ed3,U+7ed8-7ed9,U+7edc,U+7edf,U+7ee7,U+7ee9-7eea,U+7eed,U+7ef4,U+7f16,U+7f29,U+7f2e,U+7f34,U+7f3a,U+7f51,U+7f6e,U+7f72,U+7f8a,U+7f8e,U+7fa4,U+7faf,U+7fe0-7fe1,U+7ffb,U+8001,U+8003,U+8005,U+800c,U+8015,U+8017,U+804a,U+804c,U+8054,U+805a,U+807f,U+8089,U+8096,U+809d,U+80a1,U+80a9-80aa,U+80b2,U+80c3,U+80cc,U+80e1,U+80f8,U+80fd,U+8102,U+8109,U+8111,U+811a,U+8131,U+814c,U+8150,U+8170,U+817e,U+818f,U+819d,U+81b3,U+81ea,U+81f3-81f4,U+821e,U+822a,U+8231,U+8272,U+827a,U+8282,U+8292,U+82b1,U+82bd,U+82cf,U+82d7,U+82f1,U+8303-8304,U+8336,U+8349,U+8350,U+836f,U+8393,U+83b7,U+83dc,U+8425,U+843d,U+8471,U+84c4,U+852c,U+85cf,U+867e,U+8681-8682,U+86cb,U+874e,U+878d,U+87f9,U+8840,U+884c,U+8854,U+8861-8863,U+8865,U+8868,U+888b,U+88ab,U+88c5,U+88d5,U+897f,U+8981,U+8986,U+89c1-89c2,U+89c4,U+89c6,U+89c8-89c9,U+89d2,U+89e3,U+89e6,U+8a00,U+8b66,U+8ba1-8ba2,U+8ba4,U+8ba9,U+8bad-8bb0,U+8bb2,U+8bb8,U+8bba,U+8bbe-8bbf,U+8bc1,U+8bc4,U+8bc6,U+8bc9-8bca,U+8bcd,U+8bd5,U+8bdd,U+8be2,U+8be5-8be6,U+8bed,U+8bef,U+8bf4,U+8bf7,U+8bfa-8bfb,U+8bfe,U+8c01,U+8c03,U+8c13,U+8c28,U+8c31,U+8c41,U+8c46,U+8c61,U+8d1f,U+8d21-8d23,U+8d25-8d28,U+8d2d,U+8d34-8d35,U+8d37,U+8d39,U+8d44,U+8d6b,U+8d70,U+8d75,U+8d77,U+8d85,U+8d8b,U+8da3,U+8db3,U+8dc3,U+8dd1,U+8ddd,U+8ddf,U+8de8,U+8def,U+8e2a,U+8eab,U+8f66,U+8f68,U+8f6c,U+8f6e-8f6f,U+8f74,U+8f7b,U+8f83,U+8f85-8f86,U+8f88,U+8f91,U+8f93,U+8fb9,U+8fbe,U+8fc1}@font-face{font-family:"Jiahe Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/noto-serif-600-05-12fb8f.woff2) format("woff2");unicode-range:U+8fc7,U+8fd0-8fd1,U+8fd4,U+8fd8-8fd9,U+8fdb-8fdc,U+8fde,U+8ff0,U+8ff9,U+8ffd,U+9000-9002,U+9009,U+9010,U+9012,U+9014,U+901a-901b,U+901f-9020,U+9022,U+903e,U+9053,U+9057,U+907f,U+90a3,U+90a6,U+90bb,U+90e8,U+90fd,U+914d,U+9192,U+91c7,U+91cc-91cd,U+91cf,U+91d1,U+9274,U+9488,U+9499,U+949f,U+94a2,U+94a5,U+94b1,U+94f6,U+9500,U+9505,U+9519,U+952e,U+9547,U+955c,U+956f,U+957f,U+95e8,U+95ed-95ee,U+95f2,U+95f4,U+95fb,U+9605,U+961f,U+9633,U+9635-9636,U+963f,U+9644-9645,U+9648,U+964d,U+9650,U+9662,U+9664,U+9669-966a,U+968f-9690,U+9694,U+969c,U+96c5-96c6,U+96e8,U+96ea,U+9700,U+9732,U+9752,U+9759,U+975e,U+9760,U+9762,U+97f3,U+9875,U+9879,U+987e-987f,U+9884,U+9886,U+9891,U+9897-9898,U+989c-989d,U+98ce,U+98df,U+9910,U+996d-996e,U+9988,U+9996,U+9999,U+9a6c,U+9a8c,U+9aa8,U+9ad8,U+9c7c,U+9c9c,U+9e21,U+9ea6,U+9ec4,U+9ed1,U+9ed8,U+9f13,U+9f99,U+ff01,U+ff08-ff09,U+ff0c,U+ff1a-ff1b,U+ff1f,U+ffe5}:root{--bg: #f2efe7;--bg-deep: #e9e4d9;--surface: #fffdf8;--surface-2: #f8f4ec;--surface-3: #f1ece2;--ink: #1f2b25;--ink-2: #4e5a54;--muted: #8a857a;--muted-2: #aaa397;--line: #e6dfd2;--line-strong: #d8d0c1;--green: #31584c;--green-deep: #173c32;--green-deeper: #102f27;--green-soft: #e6efeb;--green-pale: #f0f5f2;--terracotta: #b96743;--terracotta-soft: #f6e8e0;--gold: #ad8350;--gold-soft: #f4ecdd;--blue: #58758d;--blue-soft: #e8eef3;--rose: #996b75;--rose-soft: #f4e7e9;--plum: #75658b;--plum-soft: #ede8f2;--neutral-soft: #efede7;--cream: #fbf7ef;--shadow-sm: 0 4px 16px -10px rgba(27, 42, 34, .18);--shadow: 0 22px 48px -32px rgba(27, 42, 34, .28);--shadow-lg: 0 36px 90px -40px rgba(23, 44, 35, .4);--radius: 22px;--radius-md: 16px;--radius-sm: 12px;--font-sans: "Avenir Next", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;--font-serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;--font-num: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sidebar-w: 252px;--app-gap: 32px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;background:radial-gradient(1100px 700px at 103% -8%,rgba(188,159,108,.1),transparent 60%),radial-gradient(900px 650px at 45% 105%,rgba(99,139,118,.07),transparent 55%),var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}::selection{background:#31584c33}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#5c5d5238;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#5c5d5259}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(49,88,76,.55);outline-offset:2px}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.rotate-180{transform:rotate(180deg)}.is-positive,.is-income{color:var(--green)}.is-negative,.is-expense{color:var(--terracotta)}.is-good{color:var(--green)}.is-warn{color:var(--terracotta)}.muted{color:var(--muted);font-size:13px}.page-enter{animation:pageIn .5s cubic-bezier(.2,.7,.2,1) both}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}.eyebrow{color:var(--gold);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.5}.eyebrow--light{color:#f4ecda99}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:6px 0 24px}.page-head__copy h1{font-family:var(--font-serif);font-size:clamp(28px,2.7vw,37px);font-weight:600;letter-spacing:-.02em;line-height:1.28;margin:5px 0 7px}.page-head__copy p{color:var(--muted);font-size:13.5px;max-width:580px}.page-head__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.section-title{font-family:var(--font-serif);font-size:23px;font-weight:600;letter-spacing:-.01em;margin-top:3px}.section-desc{color:var(--muted);font-size:13px;margin-top:5px}.section-action{flex-shrink:0}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.card-head h2{font-family:var(--font-serif);font-size:21px;font-weight:600;line-height:1.35;margin-top:2px;letter-spacing:-.01em}.card-head__icon{color:var(--muted);margin-top:4px;flex-shrink:0}.card-head .text-link{margin-top:5px}.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:12px;font-weight:600;white-space:nowrap;transition:color .2s,gap .2s}.text-link:hover{color:var(--green-deep);gap:8px}.link-btn{display:inline-flex;align-items:center;gap:3px;color:var(--green);font-size:12px;font-weight:600;white-space:nowrap}.link-btn:hover{color:var(--green-deep)}.mini-more{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);color:var(--ink-2)}.mini-more:hover{background:var(--green-soft);color:var(--green)}.dot-sep{opacity:.45}.pulse-dot{width:6px;height:6px;border-radius:50%;background:#8eb59d;box-shadow:0 0 0 4px #8eb59d1f;animation:pulse 2.5s infinite;display:inline-block}.card{background:#fffdf8eb;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px;min-width:0}.card--flush{padding:0;overflow:hidden}.card-head+*{margin-top:18px}.muted-block{padding:24px 0;color:var(--muted);font-size:13px;text-align:center}.confirm-copy{color:var(--ink-2);font-size:13.5px;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 16px;border-radius:11px;font-size:13px;font-weight:600;line-height:1;border:1px solid transparent;transition:transform .16s,background .2s,border-color .2s,color .2s,box-shadow .2s;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;pointer-events:none}.btn--primary{background:var(--green-deep);color:#f8f2e6;box-shadow:0 9px 20px -13px #102f27b3}.btn--primary:hover{background:#0d3028}.btn--outline{background:#fffdf8b3;border-color:var(--line-strong);color:var(--ink-2)}.btn--outline:hover{background:#fffdf8;border-color:#c8beac;color:var(--green-deep)}.btn--ghost{background:transparent;color:var(--ink-2)}.btn--ghost:hover{background:var(--surface-3);color:var(--ink)}.btn--danger{background:#9c4336;color:#fff}.btn--danger:hover{background:#87362c}.btn--danger-text{color:var(--terracotta)}.btn--danger-text:hover{background:var(--terracotta-soft)}.btn--sm{height:32px;padding:0 12px;font-size:12px;border-radius:9px}.btn--lg{height:46px;padding:0 22px;font-size:14px}.btn-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:20px;background:var(--terracotta);color:#fff;font-size:10px;margin-left:1px}.add-button{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--green);font-weight:600;padding:8px 10px;border-radius:9px}.add-button:hover{background:var(--green-soft)}.icon-btn{width:37px;height:37px;display:inline-grid;place-items:center;border-radius:50%;color:var(--ink-2);transition:background .2s,color .2s,transform .2s;flex-shrink:0}.icon-btn:hover{transform:translateY(-1px)}.icon-btn--soft{background:#fffdf8b3;border:1px solid var(--line)}.icon-btn--soft:hover,.icon-btn--soft.is-active{background:var(--green-soft);color:var(--green);border-color:#ccded6}.icon-btn--ghost:hover{background:var(--surface-3)}.round-arrow{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--green-deep);color:#f8f2e6;transition:background .2s,transform .2s}.round-arrow:hover{background:var(--green);transform:translate(2px)}.icon-btn svg,.btn svg,.text-link svg,.link-btn svg{flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600;line-height:1.4;white-space:nowrap;border:1px solid transparent}.badge__dot{width:4px;height:4px;border-radius:50%;background:currentColor}.badge--neutral{background:var(--neutral-soft);color:#777467}.badge--green{background:var(--green-soft);color:var(--green)}.badge--gold{background:var(--gold-soft);color:#8f693a}.badge--terracotta{background:var(--terracotta-soft);color:var(--terracotta)}.badge--blue{background:var(--blue-soft);color:var(--blue)}.badge--rose{background:var(--rose-soft);color:var(--rose)}.badge--plum{background:var(--plum-soft);color:var(--plum)}.badge--light{background:#fffdf81f;color:#e9dfcd;border-color:#fffdf824}.avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;color:#fffdf8f2;font-family:var(--font-serif);font-weight:600;letter-spacing:.02em;border:2px solid rgba(255,253,248,.72);box-shadow:inset 0 0 0 1px #14281f0f;-webkit-user-select:none;user-select:none}.avatar--24{width:24px;height:24px;font-size:10px}.avatar--28{width:28px;height:28px;font-size:11px}.avatar--30{width:30px;height:30px;font-size:11px}.avatar--32{width:32px;height:32px;font-size:12px}.avatar--34{width:34px;height:34px;font-size:12px}.avatar--36{width:36px;height:36px;font-size:13px}.avatar--40{width:40px;height:40px;font-size:14px}.avatar--44{width:44px;height:44px;font-size:15px}.avatar--46{width:46px;height:46px;font-size:15px}.avatar--52{width:52px;height:52px;font-size:17px}.avatar--72{width:72px;height:72px;font-size:24px}.avatar--ring{box-shadow:0 0 0 3px var(--bg),0 0 0 4px #31584c33}.avatar--extra{background:var(--surface-3);color:var(--muted);border-color:var(--surface);font-family:var(--font-sans);font-size:9px;font-weight:700}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{margin-left:-7px}.avatar-stack .avatar:first-child{margin-left:0}.progress{width:100%;background:#ebe5da;border-radius:20px;overflow:hidden}.progress__fill{display:block;height:100%;border-radius:20px;transition:width .55s cubic-bezier(.2,.8,.2,1)}.progress__fill--green{background:linear-gradient(90deg,#3c6e5c,#779c83)}.progress__fill--gold{background:linear-gradient(90deg,#b2874d,#d0b078)}.progress__fill--terracotta{background:linear-gradient(90deg,#b96743,#d18b69)}.progress__fill--blue{background:linear-gradient(90deg,#58758d,#8aa3b5)}.progress__fill--light{background:#f8f2e6a3}.tabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--surface-3)}.tab{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:8px;font-size:12px;font-weight:600;color:var(--muted);transition:color .2s,background .2s,box-shadow .2s}.tab:hover{color:var(--ink)}.tab.is-active{background:var(--surface);color:var(--green-deep);box-shadow:0 2px 8px #25302814}.tab__count{min-width:17px;height:17px;padding:0 4px;display:inline-grid;place-items:center;border-radius:20px;font-size:9.5px;background:#31584c17}.segmented{display:inline-flex;align-items:center;gap:3px;padding:4px;border-radius:11px;background:var(--surface-3)}.segmented button{padding:7px 12px;border-radius:8px;font-size:12px;font-weight:600;color:var(--muted);transition:.2s}.segmented button:hover{color:var(--ink)}.segmented button.is-active{background:var(--surface);color:var(--green-deep);box-shadow:0 2px 8px #25302814}.segmented--sm{padding:3px;border-radius:9px}.segmented--sm button{padding:5px 10px;font-size:11px;border-radius:7px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field__label{font-size:12px;font-weight:600;color:var(--ink-2);display:flex;align-items:center;gap:4px}.field__required{color:var(--terracotta)}.field__hint{color:var(--muted);font-size:11px;line-height:1.55}.input{width:100%;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);font-size:13px;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}.input:hover{border-color:#c8beac}.input:focus{outline:none;border-color:#31584c8c;box-shadow:0 0 0 3px #31584c17}.input::placeholder{color:#b0aa9e}.textarea{height:auto;padding:10px 12px;line-height:1.65;resize:vertical;min-height:72px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a857a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px;cursor:pointer}.form-grid{display:grid;gap:14px}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .field--full{grid-column:1 / -1}.compact-select{width:auto;min-width:110px;height:34px;font-size:11.5px;border-radius:9px;padding-left:10px}.textarea-with-action{position:relative}.textarea-with-action .textarea{padding-bottom:42px}.voice-btn{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:7px;background:var(--green-soft);color:var(--green);font-size:10.5px;font-weight:600}.voice-btn:hover{background:#d9e8e0}.voice-btn.is-recording{background:var(--terracotta-soft);color:var(--terracotta);animation:pulse 1.2s infinite}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:24px;background:#141d1870;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fadeIn .2s ease both}.modal{width:min(100%,640px);max-height:min(88vh,900px);background:var(--surface);border:1px solid rgba(255,255,255,.65);border-radius:24px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .32s cubic-bezier(.2,.78,.2,1) both}.modal--sm{width:min(100%,480px)}.modal--md{width:min(100%,660px)}.modal--lg{width:min(100%,820px)}.modal__head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:23px 25px 17px;border-bottom:1px solid var(--line)}.modal__head h2{font-family:var(--font-serif);font-size:21px;font-weight:600;line-height:1.35}.modal__head p{color:var(--muted);font-size:12px;margin-top:4px}.modal__body{padding:22px 25px;overflow-y:auto}.modal__footer{padding:15px 25px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:9px;background:#f8f4ec8c}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;justify-content:flex-end;background:#141d1866;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .2s both}.drawer{width:min(var(--drawer-width),100vw);height:100%;background:var(--surface);box-shadow:-30px 0 80px #17261e33;display:flex;flex-direction:column;animation:slideInRight .36s cubic-bezier(.2,.78,.2,1) both}.drawer__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 26px 18px;border-bottom:1px solid var(--line)}.drawer__head h2{font-family:var(--font-serif);font-size:23px;font-weight:600}.drawer__head p{color:var(--muted);font-size:12px;margin-top:3px}.drawer__body{padding:22px 26px;overflow-y:auto;flex:1}.drawer__footer{padding:16px 26px;border-top:1px solid var(--line);background:var(--surface-2)}.drawer-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.drawer-actions .btn:last-child{margin-left:auto}.toast-stack{position:fixed;right:22px;bottom:24px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 15px;border-radius:12px;background:var(--green-deeper);color:#f5f0e6;box-shadow:0 18px 45px -20px #11261e8c;font-size:12.5px;animation:toastIn .28s cubic-bezier(.2,.8,.2,1) both}.toast__icon{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#ffffff1f;flex-shrink:0}.toast--error{background:#7e362f}.toast--info{background:#3d4a44}.popover{position:absolute;z-index:80;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);animation:slideUp .22s cubic-bezier(.2,.8,.2,1) both}.quickadd-pop{position:absolute;right:0;top:calc(100% + 10px);width:330px;padding:10px}.quickadd-pop__head{padding:8px 10px 10px;display:flex;flex-direction:column;border-bottom:1px solid var(--line);margin-bottom:5px}.quickadd-pop__head span{font-family:var(--font-serif);font-weight:600;font-size:15px}.quickadd-pop__head small{font-size:10.5px;color:var(--muted);margin-top:2px}.quickadd-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px;border-radius:10px;transition:background .18s}.quickadd-item:hover{background:var(--surface-2)}.quickadd-item__icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.quickadd-item__icon--terracotta{background:var(--terracotta-soft);color:var(--terracotta)}.quickadd-item__icon--green{background:var(--green-soft);color:var(--green)}.quickadd-item__icon--blue{background:var(--blue-soft);color:var(--blue)}.quickadd-item__icon--gold{background:var(--gold-soft);color:var(--gold)}.quickadd-item__icon--plum{background:var(--plum-soft);color:var(--plum)}.quickadd-item__copy{display:flex;flex-direction:column;min-width:0}.quickadd-item__copy strong{font-size:12.5px;font-weight:600}.quickadd-item__copy small{color:var(--muted);font-size:10.5px;margin-top:1px}.quickadd-item__arrow{margin-left:auto;color:var(--muted-2)}.notif-pop{position:absolute;right:0;top:calc(100% + 10px);width:358px;overflow:hidden}.notif-pop__head{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 17px 11px;border-bottom:1px solid var(--line);gap:12px}.notif-pop__head>div{display:flex;flex-direction:column}.notif-pop__head strong{font-family:var(--font-serif);font-size:16px;font-weight:600}.notif-pop__head span{font-size:10.5px;color:var(--muted);margin-top:2px}.notif-pop__head button{font-size:10.5px;color:var(--green);font-weight:600;padding:3px 5px}.notif-list{max-height:330px;overflow-y:auto;padding:5px}.notif-item{width:100%;display:flex;align-items:flex-start;gap:10px;text-align:left;padding:10px;border-radius:10px;transition:background .18s}.notif-item:hover{background:var(--surface-2)}.notif-item__icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.notif-item__icon--terracotta{background:var(--terracotta-soft);color:var(--terracotta)}.notif-item__icon--gold{background:var(--gold-soft);color:var(--gold)}.notif-item__icon--green{background:var(--green-soft);color:var(--green)}.notif-item__icon--blue{background:var(--blue-soft);color:var(--blue)}.notif-item__copy{display:flex;flex-direction:column;min-width:0;flex:1}.notif-item__copy strong{font-size:12px;font-weight:600;line-height:1.45}.notif-item__copy small{color:var(--muted);font-size:10.5px;margin-top:2px}.notif-item__dot{width:5px;height:5px;border-radius:50%;background:var(--terracotta);flex-shrink:0;margin-top:7px}.notif-empty{padding:30px 18px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}.notif-empty svg{color:var(--green)}.notif-pop__all{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:11px;border-top:1px solid var(--line);font-size:11px;font-weight:600;color:var(--green);background:var(--surface-2)}.user-pop{position:absolute;right:0;top:calc(100% + 10px);width:240px;padding:6px}.user-pop__head{display:flex;align-items:center;gap:10px;padding:11px 10px 13px;border-bottom:1px solid var(--line);margin-bottom:5px}.user-pop__head>div{display:flex;flex-direction:column}.user-pop__head strong{font-size:13px;font-weight:600}.user-pop__head small{font-size:10.5px;color:var(--muted)}.user-pop>button,.user-pop__foot button{width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;font-size:12px;color:var(--ink-2);text-align:left}.user-pop>button:hover,.user-pop__foot button:hover{background:var(--surface-2);color:var(--ink)}.user-pop__foot{border-top:1px solid var(--line);margin-top:5px;padding-top:4px}.user-pop__foot kbd{margin-left:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:52px 24px}.empty-state__icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--surface-3);color:var(--muted);margin-bottom:14px}.empty-state h3{font-family:var(--font-serif);font-size:17px;font-weight:600}.empty-state p{color:var(--muted);font-size:12px;max-width:340px;margin:6px 0 15px}.empty-state--compact{padding:26px 12px}.empty-state--compact .empty-state__icon{width:40px;height:40px;border-radius:12px;margin-bottom:9px}.empty-state--compact h3{font-size:14px}.empty-state--compact p{margin-bottom:10px}.stat{background:#fffdf8e6;border:1px solid var(--line);border-radius:18px;padding:17px 18px;box-shadow:var(--shadow-sm);min-width:0}.stat__top{display:flex;align-items:center;justify-content:space-between;gap:10px}.stat__label{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.02em}.stat__icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}.stat__icon--terracotta{background:var(--terracotta-soft);color:var(--terracotta)}.stat__icon--gold{background:var(--gold-soft);color:var(--gold)}.stat__icon--blue{background:var(--blue-soft);color:var(--blue)}.stat__value{font-family:var(--font-num);font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.3;margin:8px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat__foot{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10.5px;min-height:16px}.delta{font-weight:600}.delta--up{color:var(--green)}.delta--down{color:var(--terracotta)}.divider{height:1px;background:var(--line)}.list-section__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.list-section__head h3{font-family:var(--font-serif);font-size:16px;font-weight:600}.sidebar{position:fixed;left:18px;top:18px;bottom:18px;width:var(--sidebar-w);background:radial-gradient(420px 300px at 15% 0%,rgba(135,168,138,.14),transparent 64%),radial-gradient(420px 300px at 110% 100%,rgba(183,139,90,.12),transparent 55%),linear-gradient(165deg,#183d33,#14362d 55%,#112f27);color:#f1eadc;border-radius:26px;box-shadow:0 28px 60px -30px #102820a6;z-index:60;overflow:hidden}.sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid rgba(255,255,255,.07);border-radius:26px}.sidebar__inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%}.sidebar__brand{padding:25px 23px 17px}.brand{display:flex;align-items:center;gap:11px}.brand__seal{position:relative;width:40px;height:40px;flex-shrink:0;border-radius:12px;border:1px solid rgba(234,218,188,.38);display:grid;place-items:center;color:#f2e5cc;font-family:var(--font-serif);font-size:20px;font-weight:600;background:#ffffff0b}.brand__seal i{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(234,218,188,.14);border-radius:8px}.brand__words{display:flex;flex-direction:column}.brand__name{font-family:var(--font-serif);font-size:22px;font-weight:600;letter-spacing:.14em;line-height:1.1;color:#f6eedf}.brand__sub{color:#e6dac580;font-size:9px;letter-spacing:.19em;margin-top:4px}.sidebar__family{margin:0 15px 15px;padding:15px 15px 14px;border-radius:16px;background:#ffffff0e;border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}.sidebar__family:after{content:"家";position:absolute;right:-6px;bottom:-18px;font-family:var(--font-serif);font-size:72px;color:#ffffff08;line-height:1;pointer-events:none}.sidebar__family-top{display:flex;justify-content:space-between;align-items:center;color:#e6dac573}.sidebar__family-kicker{font-size:9px;letter-spacing:.16em;font-weight:600}.sidebar__family-name{font-family:var(--font-serif);font-size:15px;font-weight:500;margin-top:5px;color:#f2e8d8}.sidebar__family-meta{display:flex;align-items:center;gap:5px;color:#e6dac578;font-size:9.5px;margin-top:3px}.sidebar__avatars{display:flex;align-items:center;margin-top:10px}.sidebar__avatars .avatar{margin-left:-6px;border-color:#21483d;width:23px;height:23px;font-size:9px}.sidebar__avatars .avatar:first-child{margin-left:0}.sidebar__avatars-more{margin-left:5px;font-size:9px;color:#e6dac580}.sidebar__nav{flex:1;overflow-y:auto;padding:0 13px 6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.sidebar__nav::-webkit-scrollbar-thumb{background:#ffffff21}.nav-group{margin-bottom:10px}.nav-group__title{padding:8px 11px 4px;color:#e6dac559;font-size:8.5px;font-weight:600;letter-spacing:.16em}.nav-item{position:relative;display:flex;align-items:center;gap:10px;min-height:34px;padding:7px 11px;border-radius:9px;color:#eee5d6a6;font-size:12px;font-weight:500;transition:background .18s,color .18s}.nav-item svg{opacity:.8}.nav-item:hover{background:#ffffff0e;color:#f5eddf}.nav-item.is-active{background:#ffffff1a;color:#fff9ef;box-shadow:inset 0 0 0 1px #ffffff0e}.nav-item.is-active svg{opacity:1;color:#d9c597}.nav-item__dot{position:absolute;left:-13px;top:50%;width:3px;height:14px;border-radius:3px;transform:translateY(-50%);background:transparent}.nav-item.is-active .nav-item__dot{background:#d3b57b}.sidebar__foot{padding:8px 22px 18px;border-top:1px solid rgba(255,255,255,.075);margin-top:2px}.sidebar__motto{position:relative;padding:4px 0 9px}.sidebar__motto-mark{position:absolute;left:-5px;top:-1px;font-family:var(--font-serif);font-size:25px;color:#d2b78559;line-height:1}.sidebar__motto p{font-family:var(--font-serif);font-size:11.5px;color:#f4ead7a6;letter-spacing:.07em;padding-left:15px}.sidebar__motto small{display:block;color:#e6dac54d;font-size:8px;margin-top:3px;padding-left:15px;letter-spacing:.08em}.sidebar__version{color:#e6dac545;font-size:8.5px;letter-spacing:.08em}.sidebar__admin-link{display:flex;align-items:center;gap:5px;color:#e6dac56b;font-size:9.5px;margin-top:7px;transition:color .2s}.sidebar__admin-link:hover{color:#e8dcc5}.app-shell{min-height:100vh}.app-main{margin-left:calc(var(--sidebar-w) + 43px);padding:0 var(--app-gap);min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:50;height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(to bottom,rgba(242,239,231,.93) 55%,rgba(242,239,231,.66) 85%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar__left{display:flex;align-items:center;gap:16px;min-width:0}.topbar__menu{display:none}.topbar__crumb{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;white-space:nowrap}.topbar__crumb svg{color:var(--muted-2)}.topbar__crumb strong{color:var(--ink-2);font-weight:600}.topbar__house{color:var(--green);font-weight:600}.topbar__date{color:var(--muted-2);font-size:10px;padding-left:15px;border-left:1px solid var(--line-strong);white-space:nowrap}.topbar__right{display:flex;align-items:center;gap:9px}.search-trigger{display:flex;align-items:center;gap:8px;width:234px;height:35px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:#fffdf8a8;color:var(--muted);font-size:10.5px;transition:border-color .2s,background .2s}.search-trigger:hover{background:var(--surface);border-color:var(--line-strong)}.search-trigger span{flex:1;text-align:left}kbd{font-family:var(--font-sans);display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:20px;padding:0 5px;border-radius:5px;background:var(--surface-3);border:1px solid var(--line);color:var(--muted);font-size:9px}.topbar__quick,.topbar__notif,.topbar__user{position:relative}.quick-trigger{display:flex;align-items:center;gap:5px;height:35px;padding:0 13px;border-radius:10px;background:var(--green-deep);color:#f6efe2;font-size:11.5px;font-weight:600;transition:background .2s}.quick-trigger:hover,.quick-trigger.is-active{background:var(--green)}.notif-trigger{width:35px;height:35px;position:relative}.notif-count{position:absolute;top:-3px;right:-3px;min-width:15px;height:15px;padding:0 3px;display:grid;place-items:center;background:var(--terracotta);color:#fff;border:1.5px solid var(--bg);border-radius:20px;font-size:8px;font-weight:700}.user-chip{display:flex;align-items:center;gap:8px;height:40px;padding:0 4px 0 3px;border-radius:22px}.user-chip:hover{background:#fffdf8a6}.user-chip__copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.user-chip__copy strong{font-size:11.5px;font-weight:600}.user-chip__copy small{font-size:8.5px;color:var(--muted)}.user-chip>svg{color:var(--muted);margin:0 5px 0 1px}.page-wrap{width:100%;max-width:1480px;margin:0 auto;flex:1}.site-footer{max-width:1480px;margin:0 auto;width:100%;display:flex;align-items:center;gap:10px;padding:14px 0 24px;color:var(--muted-2);font-size:9.5px;border-top:1px solid rgba(212,203,187,.4)}.site-footer__dot{width:3px;height:3px;border-radius:50%;background:var(--muted-2)}.site-footer__right{margin-left:auto}.mobile-nav{display:none}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.mobile-drawer__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#111d1773;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s both}.mobile-drawer__panel{position:absolute;left:0;top:0;bottom:0;width:280px;background:var(--green-deep);animation:slideInRight .3s both;transform-origin:left}.mobile-drawer__panel .sidebar__inner{height:100%}.mobile-drawer__close{position:absolute;top:21px;right:14px;z-index:4;color:#fff9;width:30px;height:30px;display:grid;place-items:center}.command-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#111b1666;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-start;padding-top:13vh;animation:fadeIn .18s both}.command{width:min(92vw,640px);background:var(--surface);border:1px solid rgba(255,255,255,.6);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;animation:slideUp .26s cubic-bezier(.2,.8,.2,1) both}.command__input{display:flex;align-items:center;gap:11px;padding:15px 17px;border-bottom:1px solid var(--line);color:var(--muted)}.command__input input{flex:1;border:0;background:transparent;font-size:14px;outline:none;color:var(--ink);height:27px}.command__body{max-height:56vh;overflow-y:auto;padding:8px}.command__group+.command__group{border-top:1px solid var(--line);margin-top:5px;padding-top:5px}.command__group-title{padding:8px 10px 4px;font-size:9px;font-weight:700;color:var(--muted-2);letter-spacing:.12em}.command__row{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;text-align:left;font-size:12.5px}.command__row:hover{background:var(--surface-2)}.command__row>span:nth-child(2){flex:1;display:flex;align-items:center;gap:7px}.command__row small{color:var(--muted);font-size:10px}.command__icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--surface-3);color:var(--green)}.command__arrow{color:var(--muted-2)}.command__empty{text-align:center;color:var(--muted);font-size:12px;padding:42px 20px}.command__foot{display:flex;align-items:center;gap:13px;padding:9px 15px;border-top:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:9.5px}.command__foot kbd{margin-right:3px}.command__foot-brand{margin-left:auto;display:flex;align-items:center;gap:4px;color:var(--gold);font-weight:600}@media(max-width:1280px){:root{--app-gap: 24px;--sidebar-w: 238px}.topbar__date{display:none}.search-trigger{width:190px}}@media(max-width:1100px){.sidebar{display:none}.app-main{margin-left:0;padding:0 22px}.topbar__menu{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:var(--ink-2);border:1px solid var(--line);background:#fffdf8a6}.search-trigger{width:175px}.mobile-nav{display:flex;position:fixed;bottom:12px;left:12px;right:12px;z-index:70;height:60px;align-items:center;justify-content:space-around;background:#143229f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:0 20px 40px -20px #13281f8c;padding:5px 8px}.mobile-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;color:#f2ebde80;font-size:9px;min-width:52px;padding:5px 0;border-radius:10px}.mobile-nav__item.is-active{color:#f3e9d7;background:#ffffff14}.mobile-nav__item.is-active svg{color:#e0c795}.site-footer{padding-bottom:90px}.drawer{width:min(var(--drawer-width),100vw)}.dashboard-lower,.dashboard-bottom,.ledger-charts,.contact-grid,.family-layout{grid-template-columns:1fr}.family-side{display:grid;grid-template-columns:1fr 1fr}.reminders-layout{grid-template-columns:1fr}.reminders-side{display:grid;grid-template-columns:1fr 1fr}.placeholder-hero{grid-template-columns:1fr}.placeholder-roadmap{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.placeholder-roadmap .card-head,.placeholder-roadmap .roadmap-note{grid-column:1 / -1}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){:root{--app-gap: 16px}.app-main{padding:0 15px}.topbar{height:64px;gap:10px}.topbar__crumb{font-size:10px}.search-trigger{display:none}.quick-trigger{width:35px;padding:0;justify-content:center}.quick-trigger span{display:none}.quick-trigger svg{width:17px;height:17px}.user-chip__copy,.user-chip>svg{display:none}.user-chip{padding:0}.page-head{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:20px}.page-head__actions{width:100%;justify-content:flex-start}.page-head__copy h1{font-size:28px}.page-head__copy p{font-size:12.5px}.card{padding:19px;border-radius:18px}.card-head h2{font-size:18px}.modal-layer{padding:0;align-items:flex-end}.modal{width:100%;max-width:100%;max-height:92vh;border-radius:22px 22px 0 0}.modal__head{padding:19px 19px 14px}.modal__body{padding:18px 19px}.modal__footer{padding:13px 19px}.drawer{width:100vw}.drawer__head{padding:20px 19px 15px}.drawer__body{padding:18px 19px}.drawer__footer{padding:14px 19px}.form-grid--2,.form-grid--3{grid-template-columns:1fr}.site-footer{flex-wrap:wrap;gap:6px;font-size:9px}.site-footer__right{margin-left:0;width:100%}.notif-pop{width:min(calc(100vw - 30px),358px);right:-55px}.quickadd-pop{width:min(calc(100vw - 30px),330px)}.user-pop{right:-4px}.toast-stack{left:14px;right:14px;bottom:84px;max-width:none}.family-side,.reminders-side,.contact-grid{grid-template-columns:1fr}}@media(max-width:520px){.card{padding:16px;border-radius:16px}.tabs{width:100%;justify-content:stretch}.tab{flex:1;justify-content:center}.family-overview{grid-template-columns:1fr 1fr!important}.family-overview__motto{grid-column:1 / -1}.placeholder-roadmap{display:block}.feature-grid{grid-template-columns:1fr}.contact-stats,.ledger-stats,.dashboard-stats{grid-template-columns:1fr 1fr!important}.ledger-stat strong,.stat__value{font-size:21px}.topbar__crumb .topbar__house,.topbar__crumb svg{display:none}.topbar__crumb{padding-left:0}.modal__head h2{font-size:19px}.drawer-actions{gap:6px}.drawer-actions .btn{flex:1}.drawer-actions .btn:last-child{margin-left:0}}.dashboard-top{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(330px,.88fr);gap:18px}.hero-panel{position:relative;overflow:hidden;min-height:342px;border-radius:26px;padding:30px;display:flex;justify-content:space-between;gap:20px;color:#f4edde;background:radial-gradient(520px 380px at 85% -20%,rgba(151,181,151,.17),transparent 60%),radial-gradient(380px 320px at 8% 110%,rgba(186,141,87,.18),transparent 55%),linear-gradient(145deg,#1a4237,#14382e,#103028);box-shadow:0 30px 55px -30px #1230268c;border:1px solid rgba(255,255,255,.055)}.hero-panel__texture{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.45;pointer-events:none;background-image:repeating-linear-gradient(118deg,transparent 0 28px,rgba(255,255,255,.018) 28px 29px),repeating-linear-gradient(28deg,transparent 0 44px,rgba(255,255,255,.013) 44px 45px)}.hero-panel__orb{position:absolute;border-radius:50%;pointer-events:none}.hero-panel__orb--one{width:250px;height:250px;right:-90px;top:-100px;border:1px solid rgba(224,204,168,.12);box-shadow:0 0 0 32px #e0cca806,0 0 0 64px #e0cca804}.hero-panel__orb--two{width:150px;height:150px;right:90px;bottom:-110px;border:1px solid rgba(224,204,168,.08)}.hero-panel__content{position:relative;z-index:2;display:flex;flex-direction:column;min-width:0;flex:1}.hero-panel__kicker{display:flex;align-items:center;gap:8px;color:#f1e7d587;font-size:9.5px;font-weight:600;letter-spacing:.14em}.hero-panel__amount{font-family:var(--font-num);color:#fbf5e7;font-size:clamp(42px,4.1vw,58px);line-height:1.12;letter-spacing:-.035em;margin:15px 0 4px;font-weight:500}.hero-panel__currency{color:#f0e2ca85;font-size:21px;letter-spacing:0;margin-right:5px;font-family:var(--font-sans);font-weight:400}.hero-panel__amount small{font-family:var(--font-sans);font-size:14px;font-weight:400;color:#f0e2ca94;margin-left:5px;letter-spacing:.05em}.hero-panel__change{display:flex;align-items:center;gap:9px;font-size:10px;color:#f2e9da6b}.hero-panel__breakdown{display:flex;align-items:stretch;gap:22px;margin-top:auto;padding:21px 0 20px;border-top:1px solid rgba(255,255,255,.085)}.hero-panel__breakdown>div{display:flex;flex-direction:column;gap:2px}.hero-panel__breakdown>div span{color:#f0e6d466;font-size:9.5px}.hero-panel__breakdown>div strong{color:#f9f2e6e0;font-family:var(--font-num);font-size:16px;font-weight:500;letter-spacing:-.01em}.hero-panel__breakdown>i{width:1px;background:#ffffff14}.hero-panel__actions{display:flex;gap:8px;align-items:center}.hero-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:8px;font-size:10.5px;font-weight:600;transition:background .2s,border-color .2s}.hero-btn--solid{background:#e9dbc2;color:#1d4035}.hero-btn--solid:hover{background:#f4e8d1}.hero-btn--line{border:1px solid rgba(236,223,200,.2);color:#f5ecddb3;background:transparent}.hero-btn--line:hover{border-color:#ecdfc866;color:#f6edde;background:#ffffff0a}.hero-panel__side{position:relative;z-index:2;width:188px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;flex-shrink:0}.hero-seal{width:82px;height:82px;display:grid;place-items:center;border:1px solid rgba(228,210,179,.26);border-radius:19px;color:#f1e2c799;font-family:var(--font-serif);font-size:34px;position:relative}.hero-seal:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(228,210,179,.1);border-radius:14px}.hero-panel__family{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.hero-panel__family>span{font-size:9px;letter-spacing:.14em;color:#f0e6d457}.hero-panel__family>strong{font-family:var(--font-serif);font-size:12.5px;font-weight:500;color:#f6eddfbd;letter-spacing:.06em}.hero-panel__members{display:flex;align-items:center;gap:7px;margin-top:7px}.hero-panel__members .avatar{border-color:#173a30}.hero-panel__members>span{font-size:9px;color:#f0e6d461}.month-card{display:flex;flex-direction:column;padding:23px 24px 19px}.month-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.month-card__head h2{font-family:var(--font-serif);font-size:17px;font-weight:600;margin-top:2px}.month-card__flow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.flow-label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.flow-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.flow-dot--up{background:var(--green)}.flow-dot--down{background:var(--terracotta)}.month-card__flow strong{display:block;margin-top:4px;font-family:var(--font-num);font-size:19px;font-weight:600;letter-spacing:-.02em}.flow-income{color:var(--green)}.flow-expense{color:var(--terracotta)}.month-card__balance{display:flex;flex-direction:column;gap:7px;margin-top:14px;padding:12px 13px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px}.month-card__balance>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.month-card__balance>div>span{color:var(--muted);font-size:10.5px}.month-card__balance>div>strong{font-family:var(--font-num);font-size:20px;font-weight:600;letter-spacing:-.02em}.delta-pill{font-size:9px;color:var(--muted);background:#fffdf8cc;border:1px solid var(--line);padding:2px 6px;border-radius:20px;width:fit-content}.delta-pill.is-good{color:var(--green);background:var(--green-soft);border-color:transparent}.delta-pill.is-warn{color:var(--terracotta);background:var(--terracotta-soft);border-color:transparent}.month-card__budget{margin-top:15px}.month-card__budget-head,.month-card__budget-foot{display:flex;align-items:center;justify-content:space-between}.month-card__budget-head{font-size:10px;color:var(--muted);margin-bottom:6px}.month-card__budget-head strong{color:var(--ink-2);font-size:10.5px}.month-card__budget-foot{margin-top:5px;font-size:8.5px;color:var(--muted-2)}.month-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px}.mini-insight{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9.5px}.mini-insight svg{color:var(--gold)}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0}.dashboard-stats .stat{padding:14px 16px;border-radius:16px}.dashboard-stats .stat__value{font-size:23px;margin:5px 0 2px}.dashboard-stats .stat__top{gap:8px}.dashboard-middle{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(300px,.88fr);gap:18px}.cashflow-card,.expense-card{padding:22px 23px}.chart-legend{display:flex;align-items:center;gap:12px;font-size:9.5px;color:var(--muted);margin-top:5px}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.chart-legend i{width:7px;height:7px;border-radius:2px;display:inline-block}.chart-legend-dot{width:6px;height:6px;background:var(--green);border-radius:50%;display:inline-block}.cashflow-chart{margin:14px 0 2px}.chart-tip{background:#162d24f5;color:#f5ede0;padding:9px 11px;border-radius:9px;font-size:10.5px;box-shadow:0 12px 30px -10px #10231b80;border:1px solid rgba(255,255,255,.08);min-width:125px}.chart-tip__label{color:#f5ede08c;font-size:9px;margin-bottom:4px}.chart-tip__row{display:flex;align-items:center;gap:6px;padding:2px 0}.chart-tip__dot{width:5px;height:5px;border-radius:50%;display:inline-block}.chart-tip__row span:nth-child(2){color:#f5ede0a6}.chart-tip__row strong{margin-left:auto;font-weight:600;font-family:var(--font-num);font-size:11px}.cashflow-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--line);margin-top:2px}.cashflow-insight{display:flex;align-items:center;gap:7px;min-width:0}.insight-mark{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:var(--gold-soft);color:var(--gold);flex-shrink:0}.cashflow-insight p{color:var(--muted);font-size:9.5px}.cashflow-insight strong{color:var(--ink-2);font-weight:600}.donut-chart{position:relative;margin:10px auto 0}.donut-chart__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.donut-chart__center span{display:block;color:var(--muted);font-size:8.5px;margin-bottom:2px}.donut-chart__center strong{font-family:var(--font-num);font-size:18px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.donut-legend{display:flex;flex-direction:column;gap:6px;margin-top:3px}.donut-legend__row{display:flex;align-items:center;gap:7px;font-size:10px}.donut-legend__name{display:flex;align-items:center;gap:6px;color:var(--ink-2);width:64px;flex-shrink:0}.donut-legend__name i{width:6px;height:6px;border-radius:2px;flex-shrink:0}.donut-legend__value{margin-left:auto;color:var(--ink-2);font-family:var(--font-num);font-weight:500}.donut-legend__pct{color:var(--muted-2);width:30px;text-align:right}.dashboard-lower{display:grid;grid-template-columns:1fr 1.08fr;gap:18px;margin-top:16px}.family-snapshot,.agenda-card{padding:22px 23px}.family-portrait-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:16px}.family-portrait{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px 8px;border-radius:12px;transition:background .2s}.family-portrait:hover{background:var(--surface-2)}.family-portrait strong{font-size:11px;font-weight:600;margin-top:4px}.family-portrait span{color:var(--muted);font-size:8.5px;white-space:nowrap}.birthday-strip{display:flex;align-items:center;gap:17px;margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.birthday-strip__title{display:flex;align-items:center;gap:5px;color:var(--gold);font-size:9.5px;font-weight:600;white-space:nowrap}.birthday-item{display:flex;align-items:center;gap:7px;min-width:0}.birthday-date{width:33px;height:34px;border-radius:8px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.birthday-date strong{font-family:var(--font-num);font-size:13px;line-height:1}.birthday-date span{color:var(--muted);font-size:7px;margin-top:2px}.birthday-item>div:last-child{display:flex;flex-direction:column}.birthday-item>div:last-child strong{font-size:10px;font-weight:600;white-space:nowrap}.birthday-item>div:last-child span{color:var(--muted);font-size:8px;white-space:nowrap}.snapshot-motto{position:relative;display:flex;align-items:center;gap:6px;margin-top:13px;padding:10px 12px;border-radius:10px;background:var(--green-pale);border:1px solid #dce8e1}.snapshot-motto>span{font-family:var(--font-serif);font-size:18px;color:#31584c59;line-height:1}.snapshot-motto p{font-family:var(--font-serif);font-size:11px;color:var(--green);letter-spacing:.05em}.snapshot-motto small{margin-left:auto;color:#31584c66;font-size:8px}.agenda-list{display:flex;flex-direction:column;margin-top:12px}.agenda-item{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .2s}.agenda-item:last-child{border-bottom:0}.agenda-item:hover{background:var(--surface-2)}.agenda-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:var(--neutral-soft);color:var(--ink-2)}.agenda-icon--birthday{background:var(--terracotta-soft);color:var(--terracotta)}.agenda-icon--anniversary{background:var(--rose-soft);color:var(--rose)}.agenda-icon--health{background:var(--blue-soft);color:var(--blue)}.agenda-icon--finance{background:var(--gold-soft);color:var(--gold)}.agenda-icon--renewal{background:var(--green-soft);color:var(--green)}.agenda-copy{min-width:0;flex:1}.agenda-title{display:flex;align-items:center;gap:6px}.agenda-title strong{font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-person{color:var(--muted);font-size:8.5px;background:var(--surface-3);padding:1px 5px;border-radius:4px;white-space:nowrap}.agenda-meta{color:var(--muted);font-size:9px;display:block;margin-top:1px}.agenda-meta.is-urgent{color:var(--terracotta)}.agenda-check{width:25px;height:25px;display:grid;place-items:center;color:var(--muted-2);flex-shrink:0;border-radius:50%;transition:color .2s,background .2s}.agenda-check:hover{color:var(--green);background:var(--green-soft)}.agenda-add{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:8px;padding:8px;border-radius:8px;border:1px dashed var(--line-strong);color:var(--muted);font-size:9.5px}.agenda-add:hover{background:var(--surface-2);color:var(--green);border-color:#b8cbbf}.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) minmax(270px,.82fr);gap:18px;margin-top:16px}.allocation-card,.life-alerts-card{padding:22px 23px}.allocation-bar{display:flex;height:9px;border-radius:10px;overflow:hidden;margin:18px 0 14px;gap:2px}.allocation-bar span{display:block;height:100%}.allocation-list{display:flex;flex-direction:column;gap:8px}.allocation-row{display:flex;align-items:center;gap:8px;font-size:10px}.allocation-name{display:flex;align-items:center;gap:6px;color:var(--ink-2);width:80px;flex-shrink:0}.allocation-name i{width:6px;height:6px;border-radius:2px}.allocation-val{color:var(--muted);margin-left:auto;font-family:var(--font-num)}.allocation-row strong{font-size:10px;width:36px;text-align:right;font-family:var(--font-num)}.allocation-foot{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);margin-top:14px;padding-top:12px;color:var(--muted);font-size:9.5px}.allocation-foot strong{color:var(--ink-2);font-family:var(--font-num)}.allocation-foot__line{flex:1;height:4px;border-radius:5px;background:var(--surface-3);overflow:hidden}.allocation-foot__line span{display:block;height:100%;background:var(--terracotta);border-radius:5px;opacity:.75}.allocation-foot button{display:flex;align-items:center;gap:3px;color:var(--green);font-size:9px;font-weight:600;white-space:nowrap}.life-alert-list{display:flex;flex-direction:column;gap:5px;margin-top:12px}.life-alert{display:flex;align-items:center;gap:9px;text-align:left;padding:8px;border-radius:9px;transition:background .2s;width:100%}.life-alert:hover{background:var(--surface-2)}.life-alert__icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.life-alert__icon--low{background:var(--terracotta-soft);color:var(--terracotta)}.life-alert__icon--expiry{background:var(--gold-soft);color:var(--gold)}.life-alert__copy{display:flex;flex-direction:column;min-width:0;flex:1}.life-alert__copy strong{font-size:10.5px;font-weight:600}.life-alert__copy span{color:var(--muted);font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.life-alert-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line);margin-top:8px}.life-alert-foot>div{display:flex;align-items:baseline;gap:4px}.life-alert-foot strong{font-family:var(--font-num);font-size:18px;font-weight:600}.life-alert-foot span{color:var(--muted);font-size:9px}.culture-card{position:relative;overflow:hidden;border-radius:var(--radius);padding:22px 23px;color:#f2eadb;background:linear-gradient(150deg,#31584c,#1c4035);border:1px solid rgba(255,255,255,.06);box-shadow:0 22px 45px -30px #19372b99;display:flex;flex-direction:column}.culture-card__head{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.culture-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(239,227,204,.18);color:#efe3cc99}.culture-quote{margin:15px 0 10px;position:relative;z-index:2}.culture-quote>span{font-family:var(--font-serif);font-size:34px;color:#e9d2a94d;line-height:.7}.culture-quote p{font-family:var(--font-serif);font-size:17px;letter-spacing:.08em;color:#f1e5cf;line-height:1.6}.culture-story{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}.culture-story>span{color:#f1e7d361;font-size:8px;letter-spacing:.08em}.culture-story strong{display:block;font-size:11px;color:#f7efe1e0;font-weight:600;margin:3px 0}.culture-story p{color:#f1e7d373;font-size:9px;line-height:1.65}.culture-link{position:relative;z-index:2;margin-top:auto;padding-top:13px;display:flex;align-items:center;gap:5px;color:#efdbb9bf;font-size:9.5px;text-align:left}.culture-link:hover{color:#f4e6ce}.culture-mark{position:absolute;right:-15px;bottom:-38px;font-family:var(--font-serif);font-size:150px;line-height:1;color:#ffffff06;pointer-events:none}@media(max-width:1380px){.dashboard-bottom{grid-template-columns:1fr 1fr}.culture-card{grid-column:1 / -1;min-height:215px}.culture-card .culture-story{max-width:65%}}@media(max-width:1180px){.dashboard-top{grid-template-columns:minmax(0,1.45fr) minmax(315px,.9fr)}.hero-panel__side{width:150px}}@media(max-width:1080px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-middle{grid-template-columns:1fr}.expense-card{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;align-items:center}.expense-card .card-head{grid-column:1 / -1}.expense-card .donut-chart{height:210px!important}.expense-card .donut-legend{margin-top:0}}@media(max-width:900px){.dashboard-top{grid-template-columns:1fr}.month-card{min-height:315px}.hero-panel__side{width:160px}}@media(max-width:780px){.hero-panel{min-height:auto;padding:24px;flex-direction:column}.hero-panel__content{width:100%}.hero-panel__side{position:absolute;right:20px;top:19px;width:auto;flex-direction:row;align-items:flex-start;gap:12px}.hero-seal{width:56px;height:56px;font-size:24px;border-radius:14px}.hero-panel__family{display:none}.hero-panel__amount{font-size:44px;margin-top:20px}.hero-panel__breakdown{gap:16px;flex-wrap:wrap;padding:18px 0 16px}.hero-panel__breakdown>div strong{font-size:14px}.hero-panel__breakdown>i{display:none}.hero-panel__breakdown>div{min-width:28%}.month-card{padding:20px;min-height:0}.month-card__foot{margin-top:14px}.dashboard-lower,.dashboard-bottom{grid-template-columns:1fr}.family-portrait-row{grid-template-columns:repeat(4,1fr)}.expense-card{display:block}.expense-card .donut-chart{height:200px!important}.expense-card .donut-legend{margin-top:4px}.culture-card{min-height:250px}.culture-card .culture-story{max-width:none}.cashflow-foot{flex-wrap:wrap}}@media(max-width:520px){.hero-panel{padding:20px;border-radius:20px}.hero-panel__amount{font-size:38px}.hero-panel__change span{display:none}.hero-panel__actions{flex-wrap:wrap}.hero-panel__breakdown{gap:12px}.hero-panel__breakdown>div{min-width:30%}.hero-panel__breakdown>div span{font-size:8.5px}.hero-panel__breakdown>div strong{font-size:12.5px}.hero-seal{width:48px;height:48px;font-size:20px}.dashboard-stats{gap:9px}.dashboard-stats .stat{padding:12px}.dashboard-stats .stat__label{font-size:9.5px}.dashboard-stats .stat__value{font-size:18px}.dashboard-stats .stat__icon{width:25px;height:25px}.dashboard-stats .stat__foot{font-size:8px}.cashflow-card,.expense-card,.family-snapshot,.agenda-card,.allocation-card,.life-alerts-card{padding:17px}.card-head h2{font-size:17px}.birthday-strip{gap:10px;flex-wrap:wrap}.birthday-strip__title{width:100%}.birthday-item{flex:1;min-width:100px}.family-portrait-row{gap:2px}.family-portrait span{font-size:7.5px}.culture-card{padding:18px}.culture-quote p{font-size:15px}}.family-overview{display:grid;grid-template-columns:repeat(4,minmax(0,.72fr)) minmax(235px,1.25fr);background:#fffdf8c2;border:1px solid var(--line);border-radius:17px;padding:8px 6px;box-shadow:var(--shadow-sm);margin-bottom:18px}.family-overview__item{display:flex;align-items:center;gap:10px;padding:9px 15px;border-right:1px solid var(--line)}.family-overview__icon{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:var(--green-soft);color:var(--green);flex-shrink:0}.family-overview__icon--gold{background:var(--gold-soft);color:var(--gold)}.family-overview__icon--rose{background:var(--rose-soft);color:var(--rose)}.family-overview__icon--blue{background:var(--blue-soft);color:var(--blue)}.family-overview__item>div{display:flex;flex-direction:column}.family-overview__item strong{font-family:var(--font-num);font-size:20px;line-height:1.1;font-weight:600}.family-overview__item span{color:var(--muted);font-size:8.5px;margin-top:3px}.family-overview__motto{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:0 17px 0 20px}.family-overview__motto>span{color:var(--gold);font-size:8px;letter-spacing:.16em;font-weight:600}.family-overview__motto strong{font-family:var(--font-serif);font-size:15px;font-weight:500;color:var(--green-deep);letter-spacing:.06em;margin-top:3px}.family-tabs{margin-bottom:16px}.family-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.tree-card{padding:25px 25px 20px;overflow:hidden}.tree-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.tree-card__head h2{font-family:var(--font-serif);font-size:22px;font-weight:600;margin-top:2px}.tree-card__legend{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:9px;padding-top:7px;flex-wrap:wrap;justify-content:flex-end}.tree-card__legend>span{display:flex;align-items:center;gap:5px}.legend-dot{width:6px;height:6px;border-radius:50%}.legend-dot--couple{background:var(--rose)}.legend-dot--child{background:var(--green)}.tree-card__tip{color:var(--gold)}.family-tree{margin:18px -5px 0;padding:17px 8px;border-radius:16px;border:1px dashed #ddd4c5;background:radial-gradient(circle at 20% 30%,rgba(49,88,76,.035),transparent 30%),radial-gradient(circle at 80% 75%,rgba(178,135,77,.04),transparent 28%),#f9f6eea6;position:relative;overflow:hidden}.family-tree:before{content:"林";position:absolute;right:6%;top:36%;font-family:var(--font-serif);font-size:150px;color:#31584c06;pointer-events:none}.tree-level{display:flex;align-items:center;gap:8px;position:relative;z-index:1}.tree-level__label{width:78px;flex-shrink:0;display:flex;align-items:center;gap:7px}.tree-level__label>span{font-family:var(--font-num);font-size:8px;color:#c4b9a5;width:13px}.tree-level__label>div{display:flex;flex-direction:column;gap:2px}.tree-level__label strong{font-family:var(--font-serif);font-size:10px;font-weight:600;color:var(--ink-2);letter-spacing:.04em}.tree-level__label small{font-size:7.5px;color:var(--muted-2)}.tree-level__units{display:flex;align-items:center;gap:9px;flex-wrap:wrap;flex:1;min-width:0}.tree-unit{display:flex;align-items:center;gap:3px}.tree-unit--couple{padding:6px;margin:-6px 0;border-radius:15px;background:#fffdf88f;border:1px solid rgba(228,220,205,.6)}.tree-node{width:178px;min-height:92px;padding:10px 11px;border-radius:12px;text-align:left;background:var(--surface);border:1px solid var(--line);box-shadow:0 3px 10px -8px #22322838;transition:transform .2s,box-shadow .2s,border-color .2s}.tree-node:hover{transform:translateY(-2px);box-shadow:0 9px 20px -14px #2232284d;border-color:#cfc3b0}.tree-node__top{display:flex;align-items:center;gap:8px}.tree-node__identity{min-width:0}.tree-node__name-line{display:flex;align-items:center;gap:4px}.tree-node__name-line strong{font-size:11.5px;font-weight:600;white-space:nowrap}.tree-node__name-line .badge{font-size:7.5px;min-height:14px;padding:0 4px}.tree-node__identity>span{display:block;color:var(--muted);font-size:8.5px;margin-top:1px}.tree-crown{width:15px;height:15px;border-radius:50%;display:inline-grid;place-items:center}.tree-crown--owner{background:var(--gold-soft);color:var(--gold)}.tree-crown--admin{background:var(--blue-soft);color:var(--blue)}.tree-node__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:7px;border-top:1px solid var(--line);color:var(--muted);font-size:7.5px}.tree-node__meta>span{display:flex;align-items:center;gap:3px;white-space:nowrap}.tree-node__health{color:var(--blue)}.tree-couple-link{display:flex;flex-direction:column;align-items:center;width:20px;gap:0;color:var(--rose);flex-shrink:0}.tree-couple-line{width:1px;height:5px;background:#d8c3c6}.tree-couple-heart{width:17px;height:17px;border-radius:50%;background:var(--rose-soft);display:grid;place-items:center}.tree-add-node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:74px;height:72px;border-radius:11px;border:1px dashed #cfc6b7;color:var(--muted);font-size:8px;flex-shrink:0;transition:.2s}.tree-add-node:hover{background:var(--surface);border-color:#aabcb0;color:var(--green)}.tree-connector{display:flex;align-items:center;padding-left:88px;gap:0;height:24px}.tree-connector__line{width:21px;height:1px;background:#d9d0c1}.tree-connector__diamond{width:5px;height:5px;transform:rotate(45deg);border:1px solid #c5b9a4;background:#f8f4ec}.tree-card__foot{display:flex;justify-content:space-between;align-items:center;padding-top:16px;gap:16px}.tree-foot-quote{display:flex;align-items:flex-start;gap:4px}.tree-foot-quote>span{font-family:var(--font-serif);color:var(--gold);opacity:.5;font-size:20px;line-height:.9}.tree-foot-quote p{font-family:var(--font-serif);font-size:10.5px;color:var(--muted);letter-spacing:.04em}.family-side{display:flex;flex-direction:column;gap:16px}.archive-card,.permission-card{padding:21px}.archive-card .card-head h2{font-size:17px}.archive-seal{width:34px;height:34px;border:1px solid rgba(178,135,77,.4);border-radius:9px;display:grid;place-items:center;color:var(--gold);font-family:var(--font-serif);font-size:15px;transform:rotate(3deg)}.archive-meta{display:flex;flex-direction:column;gap:8px;margin-top:14px}.archive-meta>div{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:9.5px;line-height:1.5}.archive-meta svg{color:var(--gold);flex-shrink:0;margin-top:1px}.archive-divider{height:1px;background:var(--line);margin:14px 0 11px}.archive-birthday-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.archive-birthday-head>span{font-size:10px;font-weight:600;color:var(--ink-2)}.archive-birthday-head select{border:0;background:transparent;color:var(--muted);font-size:8.5px;cursor:pointer}.archive-birthdays{display:flex;flex-direction:column;gap:2px}.archive-birthday{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:8px;cursor:pointer}.archive-birthday:hover{background:var(--surface-2)}.archive-birthday>div{display:flex;flex-direction:column;flex:1;min-width:0}.archive-birthday>div strong{font-size:10px;font-weight:600}.archive-birthday>div span{color:var(--muted);font-size:8px}.archive-birthday .badge{font-size:8px}.archive-oldest{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);position:relative}.archive-oldest__label{position:absolute;top:-6px;left:9px;background:var(--surface-2);padding:0 4px;font-size:7px;color:var(--muted)}.archive-oldest>div{display:flex;align-items:center;gap:7px}.archive-oldest p{display:flex;flex-direction:column}.archive-oldest p strong{font-size:10px}.archive-oldest p span{font-size:8px;color:var(--muted)}.archive-oldest__heart{margin-left:auto;color:var(--rose);opacity:.55}.permission-card .card-head h2{font-size:16px}.permission-intro{color:var(--muted);font-size:9.5px;line-height:1.65;margin:10px 0}.permission-list{display:flex;flex-direction:column}.permission-row{display:flex;align-items:center;gap:7px;padding:6px 2px;border-bottom:1px solid rgba(230,223,210,.65)}.permission-row:last-child{border-bottom:0}.permission-person{display:flex;flex-direction:column;min-width:0;flex:1}.permission-person strong{font-size:9.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permission-person span{color:var(--muted);font-size:8px}.role-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface-2);border-radius:6px;font-size:8px;padding:3px 15px 3px 6px;color:var(--muted);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 24 24' fill='none' stroke='%238a857a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.role-select--owner{color:var(--gold);background-color:var(--gold-soft);border-color:transparent}.role-select--admin{color:var(--blue);background-color:var(--blue-soft);border-color:transparent}.permission-foot{display:flex;align-items:center;gap:5px;margin-top:10px;color:var(--muted-2);font-size:8px}.reminders-layout{display:grid;grid-template-columns:minmax(0,1fr) 326px;gap:18px;align-items:start}.reminders-main{display:flex;flex-direction:column;gap:16px}.reminder-summary-card{display:flex;align-items:center;gap:26px;padding:15px 21px}.reminder-summary__item{display:flex;align-items:center;gap:9px;flex:1}.reminder-summary__item>span{width:31px;height:31px;border-radius:9px;background:var(--surface-2);color:var(--green);display:grid;place-items:center}.reminder-summary__item>div{display:flex;flex-direction:column}.reminder-summary__item strong{font-family:var(--font-num);font-size:18px;line-height:1.1;font-weight:600}.reminder-summary__item small{color:var(--muted);font-size:8px}.reminder-list-card{padding:23px}.reminder-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:7px}.reminder-list-head h2{font-family:var(--font-serif);font-size:21px;font-weight:600;margin-top:2px}.reminder-list{display:flex;flex-direction:column}.reminder-row{display:flex;align-items:flex-start;gap:11px;padding:15px 3px;border-bottom:1px solid var(--line)}.reminder-row:last-child{border-bottom:0}.reminder-row.is-done{opacity:.56}.reminder-date{width:41px;height:46px;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface-2)}.reminder-date strong{font-family:var(--font-num);font-size:18px;line-height:1;font-weight:500}.reminder-date span{color:var(--muted);font-size:7.5px;margin-top:3px}.reminder-date.is-urgent{border-color:#e3b8a4;background:var(--terracotta-soft);color:var(--terracotta)}.reminder-date.is-urgent span{color:#b9826b}.reminder-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;margin-top:2px;background:var(--neutral-soft);color:var(--muted)}.reminder-icon--terracotta{background:var(--terracotta-soft);color:var(--terracotta)}.reminder-icon--rose{background:var(--rose-soft);color:var(--rose)}.reminder-icon--blue{background:var(--blue-soft);color:var(--blue)}.reminder-icon--gold{background:var(--gold-soft);color:var(--gold)}.reminder-icon--green{background:var(--green-soft);color:var(--green)}.reminder-copy{flex:1;min-width:0}.reminder-title-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.reminder-title-line>strong{font-size:11.5px;font-weight:600}.reminder-relative{margin-left:auto;font-size:8.5px;color:var(--muted);white-space:nowrap}.reminder-relative.is-urgent{color:var(--terracotta);font-weight:600}.reminder-copy>p{color:var(--muted);font-size:9.5px;margin-top:3px;line-height:1.55}.reminder-members{display:flex;align-items:center;gap:9px;margin-top:5px}.reminder-members>span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:8px}.reminder-full-date{color:var(--muted-2)!important}.reminder-actions{display:flex;align-items:center;gap:3px}.reminder-done-btn,.reminder-delete-btn{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;color:var(--muted);transition:.2s}.reminder-done-btn:hover{background:var(--green-soft);color:var(--green)}.reminder-done-btn.is-done{color:var(--green);background:var(--green-soft)}.reminder-delete-btn:hover{background:var(--terracotta-soft);color:var(--terracotta)}.reminders-side{display:flex;flex-direction:column;gap:16px}.birthday-book,.reminder-quote-card{padding:21px}.birthday-book__list{display:flex;flex-direction:column;margin-top:10px}.birthday-book__row{display:flex;align-items:center;gap:8px;padding:7px 2px;border-bottom:1px solid rgba(230,223,210,.6);cursor:pointer}.birthday-book__row:last-child{border-bottom:0}.birthday-book__row>div{display:flex;flex-direction:column;flex:1}.birthday-book__row strong{font-size:9.5px}.birthday-book__row span{color:var(--muted);font-size:8px}.birthday-book__days{color:var(--muted);font-size:8.5px;white-space:nowrap}.birthday-book__days.is-near{color:var(--terracotta);font-weight:600}.birthday-book__note{display:flex;align-items:flex-start;gap:5px;margin-top:10px;padding:8px;border-radius:8px;background:var(--gold-soft);color:#8f6a3f;font-size:8px;line-height:1.5}.reminder-quote-card{background:var(--green-pale);border-color:#dbe8e1}.reminder-quote-card p{font-family:var(--font-serif);font-size:12px;line-height:1.8;color:var(--green)}.reminder-quote-card span{display:block;margin-top:8px;color:#31584c73;font-size:8px;text-align:right}.member-profile__hero{display:flex;gap:16px;align-items:center;padding-bottom:19px;border-bottom:1px solid var(--line)}.member-profile__hero>div{min-width:0}.member-profile__name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.member-profile__name h3{font-family:var(--font-serif);font-size:24px;font-weight:600}.member-profile__hero p{color:var(--muted);font-size:10.5px;margin-top:3px}.member-profile__bio{display:block;color:var(--ink-2);font-size:10.5px;line-height:1.6;margin-top:6px}.profile-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:17px 0}.profile-detail-grid>div{display:flex;flex-direction:column;gap:2px}.profile-detail-grid span{color:var(--muted);font-size:9px}.profile-detail-grid strong{font-size:10.5px;font-weight:500;color:var(--ink-2)}.profile-section{padding:15px 0;border-top:1px solid var(--line)}.profile-section__title{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.profile-section__title svg{color:var(--gold)}.profile-section p{color:var(--muted);font-size:10px;line-height:1.7}.profile-section .count{margin-left:auto;color:var(--muted);font-size:9px}.permission-chips{display:flex;flex-wrap:wrap;gap:4px}.mini-reminder{display:flex;align-items:center;gap:7px;padding:7px 0;border-bottom:1px dashed var(--line)}.mini-reminder:last-child{border-bottom:0}.mini-reminder>span{color:var(--muted);font-size:8.5px;width:39px}.mini-reminder>strong{flex:1;font-size:9.5px;font-weight:500}.mini-reminder.is-done{opacity:.5}.profile-contact-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:16px}.profile-contact-actions .btn{flex:1}.member-form__avatar{display:flex;align-items:center;gap:14px;padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid var(--line)}.member-form__avatar>div{display:flex;flex-direction:column;gap:6px}.member-form__avatar strong{font-size:10px;color:var(--muted);font-weight:500}.color-picker{display:flex;align-items:center;gap:6px}.color-picker button{width:18px;height:18px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);transition:transform .15s,box-shadow .15s}.color-picker button:hover{transform:scale(1.1)}.color-picker button.is-active{box-shadow:0 0 0 2px var(--green)}.member-form,.reminder-form{display:flex;flex-direction:column;gap:14px}.contact-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}.contact-stat-card{padding:16px 17px;position:relative;overflow:hidden}.contact-stat-card--dark{background:linear-gradient(140deg,#31584c,#1c4035);color:#f4edde;border-color:#ffffff0f}.contact-stat-card__icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2);margin-bottom:9px}.contact-stat-card--dark .contact-stat-card__icon{background:#ffffff1a;color:#eddfc6}.contact-stat-card__icon--green{background:var(--green-soft);color:var(--green)}.contact-stat-card__icon--gold{background:var(--gold-soft);color:var(--gold)}.contact-stat-card__icon--rose{background:var(--rose-soft);color:var(--rose)}.contact-stat-card>div:nth-child(2){display:flex;align-items:baseline;gap:7px}.contact-stat-card>div:nth-child(2) span{font-size:9.5px;color:var(--muted)}.contact-stat-card--dark>div:nth-child(2) span{color:#f1e7d380}.contact-stat-card>div:nth-child(2) strong{font-family:var(--font-num);font-size:24px;font-weight:600;line-height:1.1;margin-left:auto}.contact-stat-card>div:nth-child(2) small{font-family:var(--font-sans);font-size:8px;font-weight:400;margin-left:2px}.contact-stat-card>p{color:var(--muted);font-size:8px;margin-top:4px}.contact-stat-card--dark>p{color:#f1e7d35c}.contacts-toolbar-card{padding:13px 16px;margin-bottom:14px}.contacts-toolbar{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.contacts-search{display:flex;align-items:center;gap:7px;width:285px;height:35px;padding:0 11px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted)}.contacts-search input{flex:1;border:0;background:transparent;outline:0;font-size:11px;height:100%}.contacts-search button{display:grid;place-items:center;color:var(--muted)}.contacts-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;flex:1}.tag-filter{display:flex;align-items:center;gap:4px;padding:5px 9px;border-radius:7px;font-size:10px;color:var(--muted);transition:.18s}.tag-filter span{color:var(--muted-2);font-size:8px}.tag-filter:hover{background:var(--surface-2);color:var(--ink)}.tag-filter.is-active{background:var(--green-deep);color:#f3ecde}.tag-filter.is-active span{color:#f3ecde8c}.sort-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:7px;padding:6px 25px 6px 9px;background-color:var(--surface-2);font-size:9px;color:var(--muted);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 24 24' fill='none' stroke='%238a857a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center}.contact-grid-head{display:flex;justify-content:space-between;align-items:center;padding:0 2px 10px;color:var(--muted);font-size:9.5px}.contact-grid-head__hint{display:flex;align-items:center;gap:4px;color:var(--gold);font-size:8.5px}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.contact-card{padding:17px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.contact-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.contact-card__top{display:flex;align-items:center;gap:9px}.contact-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff8ed;font-family:var(--font-serif);font-weight:600;font-size:15px;flex-shrink:0}.contact-avatar--lg{width:64px;height:64px;font-size:24px}.contact-card__identity{min-width:0;flex:1}.contact-name-line{display:flex;align-items:center;gap:6px}.contact-name-line h3{font-family:var(--font-serif);font-size:15px;font-weight:600}.contact-last{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:8px;margin-top:2px}.star-btn{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--muted-2);transition:color .2s,background .2s}.star-btn:hover{background:var(--gold-soft);color:var(--gold)}.star-btn.is-active{color:var(--gold)}.contact-note{color:var(--muted);font-size:9px;line-height:1.65;margin:11px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:29px}.contact-latest-affair{display:flex;align-items:center;gap:6px;padding:7px 8px;background:var(--surface-2);border-radius:7px;font-size:8.5px;color:var(--muted);margin-bottom:11px}.contact-latest-affair>span:nth-child(2){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-latest-affair strong{font-family:var(--font-num);font-weight:600}.mini-affair-icon{width:19px;height:19px;border-radius:5px;display:grid;place-items:center;flex-shrink:0;background:var(--neutral-soft)}.mini-affair-icon--green{background:var(--green-soft);color:var(--green)}.mini-affair-icon--gold{background:var(--gold-soft);color:var(--gold)}.mini-affair-icon--rose{background:var(--rose-soft);color:var(--rose)}.mini-affair-icon--blue{background:var(--blue-soft);color:var(--blue)}.contact-card__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;margin-top:auto}.contact-card__quick{display:flex;align-items:center;gap:4px}.contact-quick-btn{width:25px;height:25px;border-radius:6px;display:grid;place-items:center;color:var(--muted)}.contact-quick-btn:hover{background:var(--green-soft);color:var(--green)}.contact-affair-count{color:var(--muted-2);font-size:8px;margin-left:4px}.contact-detail-btn{display:flex;align-items:center;gap:3px;color:var(--green);font-size:9px;font-weight:600}.contacts-bottom-note{display:flex;justify-content:space-between;padding:16px 3px 0;color:var(--muted-2);font-size:8.5px}.contacts-bottom-note>span{display:flex;align-items:center;gap:5px}.contact-profile__hero{display:flex;gap:14px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line)}.contact-profile__name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.contact-profile__name h3{font-family:var(--font-serif);font-size:23px;font-weight:600}.contact-profile__hero p{color:var(--muted);font-size:10px;line-height:1.7;margin-top:5px}.contact-profile__buttons{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.contact-profile__buttons .btn{font-size:10px;height:33px;padding:0 10px}.contact-profile__details{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-profile__details>div{display:flex;flex-direction:column;gap:2px}.contact-profile__details span{color:var(--muted);font-size:8.5px}.contact-profile__details strong{font-size:10.5px;font-weight:500}.affair-summary{display:flex;align-items:center;gap:20px;padding:14px 0}.affair-summary>div{display:flex;flex-direction:column}.affair-summary span{color:var(--muted);font-size:8.5px}.affair-summary strong{font-family:var(--font-num);font-size:19px}.affair-summary button{margin-left:auto;display:flex;align-items:center;gap:4px;color:var(--green);font-size:9px;font-weight:600}.profile-section-title-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.profile-section-title-row h4{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600}.profile-section-title-row>span{color:var(--muted);font-size:8.5px}.affair-timeline{margin-top:6px}.affair-item{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.affair-item:last-child{border-bottom:0}.affair-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:var(--neutral-soft);color:var(--muted)}.affair-icon--green{background:var(--green-soft);color:var(--green)}.affair-icon--gold{background:var(--gold-soft);color:var(--gold)}.affair-icon--rose{background:var(--rose-soft);color:var(--rose)}.affair-icon--blue{background:var(--blue-soft);color:var(--blue)}.affair-copy{flex:1;min-width:0}.affair-copy>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.affair-copy strong{font-size:10px;font-weight:600}.affair-copy p{color:var(--muted);font-size:8.5px;margin-top:2px}.affair-copy>span{color:var(--muted-2);font-size:8px}.affair-amount{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.affair-amount strong{font-family:var(--font-num);font-size:11px;font-weight:600}.affair-amount button{color:var(--muted-2);opacity:0;transition:opacity .2s}.affair-item:hover .affair-amount button{opacity:1}.ledger-toolbar-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 15px;margin-bottom:14px;flex-wrap:wrap}.ledger-period{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.period-nav{display:flex;align-items:center;gap:3px}.period-nav button{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;color:var(--muted)}.period-nav button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.period-nav button:disabled{opacity:.25;cursor:default}.period-nav strong{font-family:var(--font-serif);font-size:13px;font-weight:600;padding:0 5px;min-width:110px;text-align:center}.period-today{color:var(--green);font-size:9px;font-weight:600;border-left:1px solid var(--line);padding-left:11px}.ledger-toolbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ledger-search{display:flex;align-items:center;gap:6px;width:205px;height:33px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted)}.ledger-search input{flex:1;height:100%;border:0;background:transparent;outline:0;font-size:10px}.ledger-search button{display:grid;place-items:center;color:var(--muted)}.ledger-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}.ledger-stat{padding:17px 18px;position:relative;overflow:hidden}.ledger-stat__top{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9.5px}.ledger-stat__icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-2)}.ledger-stat--income .ledger-stat__icon{background:var(--green-soft);color:var(--green)}.ledger-stat--expense .ledger-stat__icon{background:var(--terracotta-soft);color:var(--terracotta)}.ledger-stat--balance .ledger-stat__icon{background:var(--gold-soft);color:var(--gold)}.ledger-stat--budget .ledger-stat__icon{background:var(--blue-soft);color:var(--blue)}.ledger-stat>strong{display:block;font-family:var(--font-num);font-size:25px;font-weight:600;letter-spacing:-.03em;margin:7px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-stat--income>strong{color:var(--green)}.ledger-stat--expense>strong{color:var(--terracotta)}.ledger-stat>p{color:var(--muted);font-size:8.5px}.ledger-budget-value{display:flex;align-items:baseline;gap:6px;margin:7px 0}.ledger-budget-value strong{font-family:var(--font-num);font-size:25px;font-weight:600;letter-spacing:-.03em}.ledger-budget-value span{color:var(--muted);font-size:8.5px}.ledger-charts{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:16px;margin-bottom:16px}.ledger-trend-card,.ledger-donut-card{padding:22px 23px}.ledger-trend-chart{margin:14px -3px 0}.ledger-donut-card .donut-chart{height:185px!important}.ledger-donut-list{display:flex;flex-direction:column;gap:4px;margin-top:3px}.ledger-donut-list>div{display:flex;align-items:center;gap:6px;font-size:9px}.ledger-donut-list span{display:flex;align-items:center;gap:5px;color:var(--ink-2);flex:1}.ledger-donut-list i{width:5px;height:5px;border-radius:2px}.ledger-donut-list strong{font-family:var(--font-num);font-weight:500;font-size:9.5px}.ledger-donut-list small{color:var(--muted-2);width:28px;text-align:right;font-size:8px}.transaction-card{padding:23px}.transaction-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.transaction-head h2{font-family:var(--font-serif);font-size:21px;font-weight:600;margin-top:2px}.transaction-head__right{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.reset-filters{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:8.5px}.reset-filters:hover{color:var(--terracotta)}.add-line-btn{display:flex;align-items:center;gap:4px;color:var(--green);font-size:9px;font-weight:600;padding:5px 7px;border-radius:6px;background:var(--green-soft)}.add-line-btn:hover{background:#d9e8e0}.transaction-table-head{display:grid;grid-template-columns:68px minmax(190px,2fr) 100px 100px 115px 58px;gap:10px;padding:13px 7px 8px;color:var(--muted-2);font-size:8px;border-bottom:1px solid var(--line);margin-top:10px}.transaction-table-head span:nth-child(5){text-align:right}.transaction-list{display:flex;flex-direction:column}.transaction-row{display:grid;grid-template-columns:68px minmax(190px,2fr) 100px 100px 115px 58px;gap:10px;align-items:center;padding:10px 7px;border-bottom:1px solid rgba(230,223,210,.7);transition:background .16s}.transaction-row:hover{background:#f8f4ecb3}.transaction-row:last-child{border-bottom:0}.tx-date{display:flex;flex-direction:column}.tx-date strong{font-family:var(--font-num);font-size:12px;font-weight:500}.tx-date span{color:var(--muted-2);font-size:8px}.tx-main{display:flex;align-items:center;gap:8px;min-width:0}.tx-category-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.tx-main>div{min-width:0}.tx-title-line{display:flex;align-items:center;gap:5px}.tx-title-line>strong{font-size:10.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-cat-chip{font-size:7px;padding:1px 5px;border-radius:4px;white-space:nowrap;flex-shrink:0}.tx-receipt{color:var(--muted);display:inline-flex}.tx-sub{color:var(--muted);font-size:8px}.tx-member{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8.5px}.tx-payment span{color:var(--muted);font-size:8.5px;background:var(--surface-2);padding:2px 6px;border-radius:4px}.tx-amount{text-align:right;display:flex;flex-direction:column}.tx-amount strong{font-family:var(--font-num);font-size:12px;font-weight:600}.tx-amount span{color:var(--muted-2);font-size:7.5px}.tx-actions{display:flex;justify-content:flex-end;gap:1px;opacity:0;transition:opacity .18s}.transaction-row:hover .tx-actions{opacity:1}.tx-actions button{width:24px;height:24px;border-radius:5px;display:grid;place-items:center;color:var(--muted)}.tx-actions button:hover{background:var(--surface-3);color:var(--ink)}.tx-actions button:last-child:hover{color:var(--terracotta);background:var(--terracotta-soft)}.load-more{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px;color:var(--green);font-size:9px;border-top:1px solid var(--line)}.load-more span{color:var(--muted-2);font-size:8px}.load-more:hover{background:var(--surface-2)}.transaction-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--line);color:var(--muted);font-size:8px;margin-top:3px}.transaction-foot button{display:flex;align-items:center;gap:4px;color:var(--green);font-size:8.5px;font-weight:600}.tx-form{display:flex;flex-direction:column;gap:15px}.tx-type-switch{display:flex;gap:4px;padding:4px;border-radius:11px;background:var(--surface-3);width:fit-content}.tx-type-switch button{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;font-size:11px;font-weight:600;color:var(--muted)}.tx-type-switch button.is-active{background:var(--surface);box-shadow:0 2px 8px #25302814}.tx-type-switch button.is-active.is-expense{color:var(--terracotta)}.tx-type-switch button.is-active.is-income{color:var(--green)}.amount-input-wrap{display:flex;align-items:baseline;gap:6px;padding:10px 14px;border-radius:13px;border:1px solid var(--line);background:var(--surface-2)}.amount-input-wrap>span{font-family:var(--font-num);font-size:22px;color:var(--muted)}.amount-input-wrap input{flex:1;min-width:0;border:0;background:transparent;outline:0;font-family:var(--font-num);font-size:37px;font-weight:600;letter-spacing:-.03em;color:var(--ink)}.amount-input-wrap input::placeholder{color:#c7c0b3}.amount-input-wrap small{font-size:9px;color:var(--muted)}.amount-input-wrap--expense{border-color:#ecd7cc;background:#fcf5f0}.amount-input-wrap--income{border-color:#d4e4db;background:#f3f8f5}.quick-categories{display:flex;flex-wrap:wrap;gap:3px}.quick-categories button{display:flex;align-items:center;gap:4px;padding:5px 9px;border-radius:7px;color:var(--muted);font-size:9px}.quick-categories button>span{width:20px;height:20px;border-radius:5px;display:grid;place-items:center;background:var(--surface-2)}.quick-categories button:hover{background:var(--surface-2)}.quick-categories button.is-active{background:var(--green-soft);color:var(--green);font-weight:600}.receipt-upload{display:flex;align-items:center;gap:14px;padding:12px;border:1px dashed var(--line-strong);border-radius:10px}.receipt-upload>div:first-child{flex:1}.receipt-upload__title{display:flex;align-items:center;gap:5px;font-size:9.5px;font-weight:600;color:var(--ink-2)}.receipt-upload p{color:var(--muted);font-size:8px;margin-top:2px}.receipt-add{display:flex;align-items:center;gap:4px;height:29px;padding:0 9px;border-radius:7px;background:var(--surface-3);color:var(--ink-2);font-size:8.5px;font-weight:600}.receipt-add:hover{background:var(--green-soft);color:var(--green)}.receipt-preview{width:44px;height:40px;border-radius:6px;overflow:hidden;position:relative;border:1px solid var(--line)}.receipt-preview img{width:100%;height:100%;object-fit:cover}.receipt-preview button{position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;background:#0000008c;color:#fff;display:grid;place-items:center}@media(max-width:1280px){.family-layout{grid-template-columns:minmax(0,1fr) 315px}.tree-node{width:164px}.tree-unit--couple{padding:5px}.family-overview{grid-template-columns:repeat(4,minmax(0,.7fr)) minmax(210px,1.15fr)}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.family-overview{grid-template-columns:1fr 1fr 1fr}.family-overview__motto{grid-column:1 / -1;align-items:flex-start;padding:10px 15px 5px;border-top:1px solid var(--line)}.family-overview__item:nth-child(3),.family-overview__item:nth-child(4){border-right:0}.family-overview__item:nth-child(4){border-top:1px solid var(--line)}.family-overview__item:nth-child(3){border-top:1px solid var(--line)}.contact-stats,.ledger-stats{grid-template-columns:1fr 1fr}.ledger-charts{grid-template-columns:1fr}.ledger-donut-card{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-items:center}.ledger-donut-card .card-head{grid-column:1 / -1}.ledger-donut-card .donut-chart{height:200px!important}.ledger-donut-list{margin-top:0}}@media(max-width:1000px){.family-layout{grid-template-columns:1fr}.family-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.tree-node{width:180px}.reminders-layout{grid-template-columns:1fr}.reminders-side{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:840px){.family-overview{grid-template-columns:1fr 1fr}.family-overview__item{border-bottom:1px solid var(--line);padding:9px 12px}.family-overview__item:nth-child(2n){border-right:0}.family-overview__item:nth-child(3){border-top:0}.family-overview__motto{grid-column:1 / -1;border-bottom:0}.family-side,.reminders-side{grid-template-columns:1fr}.reminder-summary-card{flex-wrap:wrap;gap:12px}.reminder-summary-card>.btn{margin-left:auto}.reminder-summary__item{flex:1 1 40%}.tree-level{align-items:flex-start;gap:4px}.tree-level__label{width:62px}.tree-level__label small{display:none}.tree-level__units{gap:7px}.tree-unit--couple{padding:4px}.tree-node{width:166px}.contact-stats{grid-template-columns:1fr 1fr}.ledger-toolbar-card{align-items:flex-start}.ledger-toolbar-actions{width:100%}.ledger-search{flex:1;width:auto;min-width:160px}.transaction-table-head{display:none}.transaction-row{grid-template-columns:58px minmax(0,1fr) 105px 28px;gap:8px;padding:11px 3px}.tx-member,.tx-payment{display:none}.tx-actions{opacity:1}.tx-main{grid-column:2}}@media(max-width:640px){.family-overview{border-radius:14px}.family-overview__item strong{font-size:17px}.family-overview__item span{font-size:8px}.tree-card{padding:18px}.tree-card__head{flex-direction:column;gap:8px}.tree-card__head h2{font-size:20px}.tree-card__legend{justify-content:flex-start}.family-tree{padding:13px 5px;margin:12px -4px 0}.tree-level{flex-direction:column;align-items:stretch;gap:7px}.tree-level__label{width:auto;flex-direction:row;align-items:center;gap:6px;border-bottom:1px dashed var(--line);padding-bottom:5px}.tree-level__label>div{flex-direction:row;align-items:center;gap:6px}.tree-level__units{width:100%}.tree-node{width:calc(50vw - 44px);max-width:190px;min-width:132px}.tree-couple-link{width:16px}.tree-add-node{width:62px;height:67px}.tree-connector{padding-left:18px;height:20px}.tree-card__foot{flex-direction:column;align-items:flex-start}.archive-card,.permission-card{padding:17px}.reminder-list-card{padding:18px}.reminder-list-head{flex-direction:column;gap:10px}.reminder-list-head .segmented{width:100%}.reminder-list-head .segmented button{flex:1}.reminder-row{gap:7px}.reminder-icon{display:none}.reminder-date{width:36px}.reminder-relative{width:100%;text-align:left;margin-left:0}.reminder-actions{gap:0}.reminder-done-btn,.reminder-delete-btn{width:25px;height:25px}.reminder-title-line>strong{font-size:11px}.member-profile__hero{gap:12px;align-items:flex-start}.profile-detail-grid{grid-template-columns:1fr;gap:10px}.contact-stats{gap:9px}.contact-stat-card{padding:13px}.contact-stat-card>div:nth-child(2) strong{font-size:20px}.contact-stat-card>div:nth-child(2) span{font-size:8.5px}.contact-stat-card>p{font-size:7.5px}.contacts-toolbar{gap:8px}.contacts-search,.contacts-tags{width:100%}.contact-grid{grid-template-columns:1fr}.contact-grid-head__hint{display:none}.contact-profile__buttons .btn{flex:1}.contact-profile__details{grid-template-columns:1fr 1fr;gap:10px}.affair-summary{gap:12px;flex-wrap:wrap}.affair-summary button{margin-left:0}.contacts-bottom-note{flex-direction:column;gap:5px}.ledger-stats{gap:9px}.ledger-stat{padding:13px}.ledger-stat>strong{font-size:20px}.ledger-stat__top{font-size:8.5px}.ledger-stat>p{font-size:7.5px}.ledger-budget-value strong{font-size:20px}.transaction-card{padding:16px}.transaction-head__right{width:100%}.transaction-head__right .tabs{flex:1}.transaction-head__right .tab{flex:1;justify-content:center}.transaction-row{grid-template-columns:48px minmax(0,1fr) 85px 24px;gap:6px}.tx-title-line>strong{font-size:10px}.tx-amount strong{font-size:10.5px}.transaction-foot{flex-direction:column;align-items:flex-start;gap:6px}.ledger-donut-card{display:block}.ledger-donut-card .donut-chart{height:180px!important}.ledger-donut-list{margin-top:4px}.tx-type-switch{width:100%}.tx-type-switch button{flex:1;justify-content:center}.amount-input-wrap input{font-size:30px}.receipt-upload{align-items:flex-start;flex-wrap:wrap}.receipt-upload>div:first-child{flex-basis:100%}.quick-categories{gap:2px}.quick-categories button{padding:4px 6px;font-size:8.5px}}.placeholder-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:18px;margin-bottom:16px}.placeholder-intro{position:relative;overflow:hidden;border-radius:var(--radius);min-height:288px;padding:28px 30px 24px;color:#f4edde;display:flex;flex-direction:column;background:radial-gradient(430px 330px at 92% -10%,rgba(160,190,165,.17),transparent 60%),radial-gradient(350px 270px at 4% 110%,rgba(184,140,85,.18),transparent 58%),linear-gradient(145deg,#1a4237,#11342a);box-shadow:0 26px 52px -32px #122b228c;border:1px solid rgba(255,255,255,.055)}.placeholder-intro__pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;pointer-events:none;background-image:repeating-linear-gradient(118deg,transparent 0 33px,rgba(255,255,255,.017) 33px 34px),repeating-linear-gradient(28deg,transparent 0 47px,rgba(255,255,255,.012) 47px 48px)}.placeholder-intro:after{content:"家";position:absolute;right:2%;bottom:-76px;font-family:var(--font-serif);font-size:235px;line-height:1;color:#ffffff06;pointer-events:none}.placeholder-intro__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;position:relative;z-index:2}.placeholder-icon{width:57px;height:57px;border-radius:16px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);background:#ffffff0f;color:#ecdfc4}.placeholder-icon--gold{color:#e5cfa7}.placeholder-icon--blue{color:#c4d5e1}.placeholder-icon--rose{color:#e8c9cf}.placeholder-icon--terracotta{color:#e7bb9f}.placeholder-icon--plum{color:#d8c9e5}.placeholder-status{display:flex;align-items:center;gap:6px;color:#f4e9d68f;font-size:8.5px;border:1px solid rgba(244,233,214,.14);background:#ffffff0a;padding:5px 9px;border-radius:20px;white-space:nowrap}.placeholder-intro__copy{position:relative;z-index:2;margin-top:22px;max-width:520px}.placeholder-intro__copy h2{font-family:var(--font-serif);font-size:30px;font-weight:600;color:#f8f0e2;margin:5px 0 7px;letter-spacing:.01em}.placeholder-intro__copy p{color:#f1e8d891;font-size:11.5px;line-height:1.8}.placeholder-progress{position:relative;z-index:2;margin-top:auto;padding-top:22px}.placeholder-progress>div{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.placeholder-progress span{color:#f1e8d86e;font-size:8.5px}.placeholder-progress strong{font-family:var(--font-num);font-size:16px;font-weight:500;color:#ecdfc8}.placeholder-intro__foot{position:relative;z-index:2;display:flex;align-items:center;gap:16px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.09);flex-wrap:wrap}.placeholder-intro__foot span{display:flex;align-items:center;gap:4px;color:#f1e8d861;font-size:8px}.placeholder-roadmap{padding:23px;display:flex;flex-direction:column}.roadmap-list{display:flex;flex-direction:column;margin-top:14px}.roadmap-item{display:flex;align-items:center;gap:9px;padding:7px 0;position:relative}.roadmap-item:not(:last-child):after{content:"";position:absolute;left:9px;top:30px;bottom:-2px;width:1px;background:var(--line)}.roadmap-marker{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line-strong);color:var(--muted-2);background:var(--surface);z-index:1}.roadmap-item--done .roadmap-marker{background:var(--green);border-color:var(--green);color:#f5ede0}.roadmap-item--active .roadmap-marker{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}.roadmap-item>div{display:flex;align-items:center;justify-content:space-between;flex:1;gap:8px}.roadmap-item strong{font-size:9.5px;font-weight:500;color:var(--ink-2)}.roadmap-item--active strong{font-weight:600;color:var(--ink)}.roadmap-item>div>span{font-size:8px;color:var(--muted-2);white-space:nowrap}.roadmap-item--done>div>span{color:var(--green)}.roadmap-note{display:flex;gap:8px;margin-top:auto;padding:11px;border-radius:9px;background:var(--gold-soft);border:1px solid #eadcc4;color:#886a43}.roadmap-note svg{flex-shrink:0;margin-top:1px}.roadmap-note p{font-size:8.5px;line-height:1.65}.placeholder-preview-card{padding:24px;margin-bottom:18px}.placeholder-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}.placeholder-preview-head h2{font-family:var(--font-serif);font-size:20px;font-weight:600;margin-top:2px}.placeholder-preview-head p{color:var(--muted);font-size:9px;margin-top:3px}.placeholder-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:19px 2px 12px}.placeholder-section-head h2{font-family:var(--font-serif);font-size:21px;font-weight:600;margin-top:2px}.placeholder-section-head__note{color:var(--muted);font-size:9px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.feature-tile{padding:19px;position:relative;overflow:hidden}.feature-tile__num{position:absolute;right:14px;top:11px;font-family:var(--font-num);font-size:24px;color:#31584c14;letter-spacing:-.03em}.feature-tile__icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--green-soft);color:var(--green);margin-bottom:11px}.feature-tile h3{font-size:11.5px;font-weight:600;line-height:1.5}.feature-tile p{color:var(--muted);font-size:8.5px;line-height:1.6;margin-top:4px}.feature-tile__status{display:inline-block;margin-top:11px;color:var(--green);font-size:7.5px;background:var(--green-pale);padding:2px 6px;border-radius:4px}.ready-card{display:flex;align-items:center;gap:36px;margin-top:18px;padding:25px 27px;color:#f1e8d9;border-radius:var(--radius);background:linear-gradient(135deg,#31584c,#1b4034);border:1px solid rgba(255,255,255,.055)}.ready-card__copy{flex:1}.ready-card__copy h2{font-family:var(--font-serif);font-size:22px;font-weight:600;color:#f8f0e2;margin:3px 0 5px}.ready-card__copy p{color:#f1e8d878;font-size:9.5px;line-height:1.7;max-width:470px}.ready-links{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex-shrink:0}.ready-link{display:flex;align-items:center;gap:7px;width:150px;padding:8px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff09;transition:background .18s,border-color .18s}.ready-link:hover{background:#ffffff14;border-color:#ffffff2e}.ready-link>span{width:25px;height:25px;border-radius:6px;display:grid;place-items:center;background:#ffffff12;color:#e2cea9}.ready-link strong{font-size:9px;font-weight:500;flex:1;color:#f7eee0cc}.ready-link>svg{color:#f7eee059}.placeholder-back{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 3px 4px;color:var(--muted);font-size:9px}.placeholder-back>button,.placeholder-back>div button{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px}.placeholder-back>button:hover,.placeholder-back>div button:hover{color:var(--green)}.placeholder-back>div{display:flex;align-items:center;gap:14px}.preview-dashboard,.preview-investments,.preview-asset-wrap,.preview-goal-grid,.preview-legacy,.preview-inventory,.preview-shopping,.preview-meals,.preview-rules,.preview-stories,.preview-education,.preview-settings{background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:14px;padding:16px}.preview-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.preview-stat{background:var(--surface);border:1px solid var(--line);padding:11px 13px;border-radius:9px;display:flex;flex-direction:column}.preview-stat span{color:var(--muted);font-size:8px}.preview-stat strong{font-family:var(--font-num);font-size:17px;font-weight:600;letter-spacing:-.02em;margin:2px 0}.preview-stat small{color:var(--muted-2);font-size:7.5px}.preview-panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:13px 14px;margin-top:10px}.preview-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.preview-panel__head strong{font-size:9.5px}.preview-panel__head span{color:var(--muted-2);font-size:8px}.preview-budget-row{display:grid;grid-template-columns:44px 1fr 136px;gap:9px;align-items:center;padding:4px 0}.preview-budget-row>span{color:var(--muted);font-size:8.5px}.preview-budget-row>strong{color:var(--muted);font-size:8px;font-weight:500;text-align:right;font-family:var(--font-num)}.preview-goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.preview-goal{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column}.preview-goal__top{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:9px}.preview-goal__dot{width:6px;height:6px;border-radius:50%}.preview-goal>strong{font-family:var(--font-num);font-size:20px;font-weight:600;margin-top:7px}.preview-goal__target{color:var(--muted);font-size:8px;margin-bottom:9px}.preview-goal__foot{display:flex;justify-content:space-between;color:var(--muted-2);font-size:7.5px;margin-top:6px}.preview-asset-wrap{display:grid;grid-template-columns:1.75fr .8fr;gap:12px}.preview-asset-list{display:flex;flex-direction:column;gap:5px}.preview-asset-row{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.preview-asset-thumb{width:29px;height:29px;border-radius:7px;background:linear-gradient(135deg,#dbe6df,#bdcfc4);flex-shrink:0}.preview-asset-row>div{flex:1;display:flex;flex-direction:column}.preview-asset-row>div strong{font-size:9px;font-weight:600}.preview-asset-row>div span{color:var(--muted);font-size:7.5px}.preview-asset-row>strong{font-family:var(--font-num);font-size:9.5px;font-weight:500}.preview-asset-row .badge{font-size:7px}.preview-side-stat{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:15px;display:flex;flex-direction:column;justify-content:center}.preview-side-stat>span{color:var(--muted);font-size:8px}.preview-side-stat>strong{font-family:var(--font-num);font-size:19px;font-weight:600;margin:5px 0 2px}.preview-side-stat>small{color:var(--green);font-size:7.5px}.preview-sparkline{display:flex;align-items:flex-end;gap:4px;height:40px;margin-top:12px}.preview-sparkline i{flex:1;background:linear-gradient(to top,#31584c2e,#31584c8c);border-radius:3px 3px 0 0}.preview-sparkline i:nth-child(1){height:30%}.preview-sparkline i:nth-child(2){height:52%}.preview-sparkline i:nth-child(3){height:44%}.preview-sparkline i:nth-child(4){height:65%}.preview-sparkline i:nth-child(5){height:58%}.preview-sparkline i:nth-child(6){height:78%}.preview-sparkline i:nth-child(7){height:94%}.preview-allocation-bar{display:flex;height:14px;overflow:hidden;border-radius:4px;gap:2px;margin:12px 0 10px}.preview-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:8px}.preview-legend span{display:flex;align-items:center;gap:4px}.preview-legend i{width:5px;height:5px;border-radius:2px}.preview-legacy{display:flex;align-items:center;gap:26px}.preview-legacy-circle{width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;background:radial-gradient(circle at 50% 35%,#fffdf8,#f1ece2);border:8px solid #dfe9e3;box-shadow:0 0 0 1px #d8e3dc inset}.preview-legacy-circle span{color:var(--muted);font-size:8px}.preview-legacy-circle strong{font-family:var(--font-num);font-size:18px;font-weight:600;margin:3px 0}.preview-legacy-circle small{color:var(--green);font-size:8px;background:var(--green-soft);padding:1px 6px;border-radius:4px}.preview-legacy-list{flex:1;display:flex;flex-direction:column;gap:8px}.preview-legacy-list>div{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px}.preview-legacy-list>div>span{font-size:9px;flex:1}.preview-legacy-list>div>strong{font-family:var(--font-num);font-size:10px;font-weight:500}.preview-outline-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px;border:1px dashed var(--line-strong);border-radius:7px;color:var(--green);font-size:8px;font-weight:600}.preview-inventory{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-inventory-row{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px}.preview-inventory-icon{width:29px;height:29px;border-radius:7px;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center;flex-shrink:0}.preview-inventory-row>div{display:flex;flex-direction:column;flex:1;min-width:0}.preview-inventory-row>div strong{font-size:9px;font-weight:600}.preview-inventory-row>div span{color:var(--muted);font-size:7.5px}.preview-inventory-row>strong{font-size:8px;font-weight:500;color:var(--muted);white-space:nowrap}.preview-inventory-row .badge{font-size:7px}.preview-shopping{display:flex;flex-direction:column;gap:4px;max-width:700px;margin:0 auto}.preview-shop-row{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:8px 10px;font-size:9px}.preview-shop-row.is-done{opacity:.5}.preview-shop-row>span:nth-child(2){flex:1}.preview-check{width:15px;height:15px;border-radius:4px;border:1px solid var(--line-strong);display:grid;place-items:center}.preview-check.is-checked{background:var(--green);border-color:var(--green);color:#fff}.preview-shop-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;padding:8px 2px}.preview-meals{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.preview-meal-day{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.preview-meal-day>span{display:block;text-align:center;padding:5px;background:var(--green-soft);color:var(--green);font-size:8px;font-weight:600}.preview-meal-slot{padding:6px 7px;border-top:1px solid var(--line)}.preview-meal-slot small{display:block;color:var(--muted-2);font-size:6.5px}.preview-meal-slot strong{display:block;font-size:7.5px;font-weight:500;margin-top:1px;line-height:1.35}.preview-rules{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview-rule{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:13px}.preview-rule__head{display:flex;justify-content:space-between;align-items:center}.preview-rule__tag{color:var(--muted);font-size:7.5px}.preview-rule>strong{display:block;font-size:10px;font-weight:600;margin:8px 0 3px}.preview-rule>p{color:var(--muted);font-size:8px;line-height:1.55}.preview-rule__foot{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);margin-top:9px;padding-top:7px}.preview-rule__foot>span{color:var(--muted);font-size:7.5px}.preview-stories{display:flex;flex-direction:column}.preview-story{display:grid;grid-template-columns:42px 14px 1fr;gap:8px;align-items:flex-start;padding:8px 0}.preview-story__year{font-family:var(--font-num);font-size:15px;color:var(--gold);font-weight:500}.preview-story__line{width:6px;height:6px;border-radius:50%;background:var(--green);margin-top:7px;position:relative}.preview-story__line:after{content:"";position:absolute;width:1px;height:42px;background:var(--line);top:8px;left:2.5px}.preview-story:last-child .preview-story__line:after{display:none}.preview-story>div strong{font-size:9.5px;font-weight:600}.preview-story>div p{color:var(--muted);font-size:8px;line-height:1.55;margin-top:2px}.preview-education{display:flex;flex-direction:column;gap:8px}.preview-edu-kid{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 12px}.preview-edu-kid>div{flex:1;display:flex;flex-direction:column}.preview-edu-kid strong{font-size:10px}.preview-edu-kid span{color:var(--muted);font-size:8px}.preview-edu-kid p{color:var(--muted-2);font-size:7.5px;margin-top:2px}.preview-edu-goal{display:grid;grid-template-columns:1fr 160px 35px;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 12px}.preview-edu-goal>div{display:flex;flex-direction:column}.preview-edu-goal>div strong{font-size:9px}.preview-edu-goal>div span{color:var(--muted);font-size:7.5px}.preview-edu-goal>strong{font-family:var(--font-num);font-size:10px;text-align:right}.preview-settings{display:flex;flex-direction:column;gap:6px;max-width:760px;margin:0 auto}.preview-setting-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.preview-setting-icon{width:29px;height:29px;border-radius:7px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.preview-setting-row>div{flex:1;display:flex;flex-direction:column}.preview-setting-row>div strong{font-size:9.5px}.preview-setting-row>div span{color:var(--muted);font-size:7.5px}@media(max-width:1150px){.placeholder-hero{grid-template-columns:1fr}.placeholder-roadmap{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.placeholder-roadmap .card-head,.placeholder-roadmap .roadmap-note{grid-column:1 / -1}.feature-grid{grid-template-columns:1fr 1fr}}@media(max-width:900px){.ready-card{flex-direction:column;align-items:flex-start;gap:18px}.ready-links{width:100%;grid-template-columns:1fr 1fr}.ready-link{width:auto}.preview-asset-wrap{grid-template-columns:1fr}.preview-meals{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.placeholder-intro{padding:22px;min-height:270px}.placeholder-intro__copy h2{font-size:25px}.placeholder-intro__foot{gap:10px}.placeholder-preview-card{padding:17px}.feature-grid{grid-template-columns:1fr}.placeholder-roadmap{display:block}.placeholder-section-head{align-items:flex-start;flex-direction:column;gap:4px}.preview-stat-row,.preview-goal-grid,.preview-inventory,.preview-rules{grid-template-columns:1fr}.preview-legacy{flex-direction:column}.preview-legacy-circle{width:130px;height:130px}.preview-legacy-list{width:100%}.preview-meals{grid-template-columns:1fr 1fr}.preview-edu-goal{grid-template-columns:1fr 95px 28px;gap:7px}.preview-budget-row{grid-template-columns:36px 1fr 100px;gap:6px}.ready-card{padding:21px}.ready-card__copy h2{font-size:19px}.ready-links{grid-template-columns:1fr}.placeholder-back{flex-direction:column;align-items:flex-start}.placeholder-back>div{flex-wrap:wrap;gap:8px}.placeholder-preview-head{flex-direction:column;gap:8px}.placeholder-status{font-size:7.5px}}.admin-shell{min-height:100vh;background:#f4f5f1;color:#212a25;font-family:var(--font-sans);font-size:13px}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:232px;z-index:70;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a2822,#14221c);color:#dfe4dc;border-right:1px solid rgba(255,255,255,.055)}.admin-brand{display:flex;align-items:center;gap:9px;padding:17px 17px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.admin-brand__seal{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;border:1px solid rgba(225,205,166,.32);color:#e3cc9f;font-family:var(--font-serif);font-size:15px;flex-shrink:0;background:#ffffff0b}.admin-brand__copy{display:flex;flex-direction:column;min-width:0}.admin-brand__copy strong{font-family:var(--font-serif);font-size:16px;font-weight:600;color:#f2eadb;letter-spacing:.1em;line-height:1.15}.admin-brand__copy small{font-size:7.5px;color:#dfe4dc61;margin-top:2px;letter-spacing:.04em;white-space:nowrap}.admin-env{display:flex;align-items:center;gap:6px;margin:12px 14px 9px;padding:6px 9px;border-radius:6px;background:#ffffff0b;border:1px solid rgba(255,255,255,.055);color:#dfe4dc8c;font-size:8.5px}.env-dot{width:5px;height:5px;border-radius:50%;background:#7fb08e;display:inline-block;box-shadow:0 0 0 3px #7fb08e1a;flex-shrink:0}.admin-env__version{margin-left:auto;color:#dfe4dc4d;font-size:7.5px}.admin-sidebar__user{display:flex;align-items:center;gap:8px;margin:0 14px 15px;padding:8px 9px;border-radius:8px;background:#ffffff0e;border:1px solid rgba(255,255,255,.06)}.admin-avatar{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#b99c67,#9b7d4d);color:#fff8e9;font-size:11px;font-weight:600;flex-shrink:0}.admin-avatar--sm{width:26px;height:26px;border-radius:7px;font-size:10px}.admin-sidebar__user>div{display:flex;flex-direction:column;flex:1;min-width:0}.admin-sidebar__user strong{font-size:9.5px;color:#f2eadbcc;font-weight:500}.admin-sidebar__user span:not(.admin-avatar){color:#dfe4dc59;font-size:7.5px}.admin-sidebar__user>svg{color:#dfe4dc4d}.admin-nav{flex:1;overflow-y:auto;padding:0 9px 8px}.admin-nav__title{padding:7px 9px 4px;color:#dfe4dc40;font-size:7.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.admin-nav__item{display:flex;align-items:center;gap:8px;min-height:31px;padding:6px 9px;border-radius:6px;color:#dfe4dc8f;font-size:10.5px;transition:background .16s,color .16s;position:relative}.admin-nav__item svg{opacity:.72;flex-shrink:0}.admin-nav__item:hover{background:#ffffff0b;color:#f2eadbe0}.admin-nav__item.is-active{background:#ffffff16;color:#f5ecdb}.admin-nav__item.is-active:before{content:"";position:absolute;left:-9px;top:50%;transform:translateY(-50%);width:2px;height:14px;border-radius:2px;background:#d6b880}.admin-nav__item.is-active svg{color:#dcc597;opacity:1}.admin-nav__item b{margin-left:auto;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:4px;background:#c88f632e;color:#d7a77d;font-size:7.5px;font-weight:600}.admin-sidebar__bottom{padding:11px 14px 14px;border-top:1px solid rgba(255,255,255,.06)}.admin-health{padding:9px 10px;border-radius:7px;background:#ffffff09;border:1px solid rgba(255,255,255,.045)}.admin-health>div:first-child{display:flex;align-items:center;gap:5px;color:#dfe4dc9c;font-size:8.5px}.status-dot{width:5px;height:5px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot--good{background:#69a57e;box-shadow:0 0 0 2.5px #69a57e1f}.status-dot--warn{background:#d3a15d;box-shadow:0 0 0 2.5px #d3a15d1f}.admin-health>span{color:#dfe4dc4d;font-size:7.5px;display:block;margin-top:2px}.admin-health__bar{height:3px;border-radius:3px;background:#ffffff12;margin-top:6px;overflow:hidden}.admin-health__bar span{display:block;width:68%;height:100%;background:linear-gradient(90deg,#6e9c7d,#b1c394);border-radius:3px}.admin-back-link{display:flex;align-items:center;gap:5px;margin-top:9px;color:#dfe4dc57;font-size:8px;padding:2px;transition:color .2s}.admin-back-link:hover{color:#f2eadbbf}.admin-back-link svg:last-child{margin-left:auto}.admin-main{margin-left:232px;min-height:100vh;display:flex;flex-direction:column}.admin-topbar{height:59px;position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 25px;background:#fafaf7eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #e5e6df}.admin-topbar__left{display:flex;align-items:center;gap:12px;min-width:0}.admin-menu-btn{display:none;width:32px;height:32px;border-radius:6px;border:1px solid #e0e2da;align-items:center;justify-content:center;color:#647068}.admin-breadcrumb{display:flex;align-items:center;gap:6px;color:#9aa198;font-size:9.5px;white-space:nowrap}.admin-breadcrumb svg{color:#c1c5bc}.admin-breadcrumb strong{color:#414d45;font-weight:600}.admin-topbar__right{display:flex;align-items:center;gap:8px}.admin-search{display:flex;align-items:center;gap:6px;width:205px;height:31px;padding:0 9px;border:1px solid #e3e4dd;background:#f7f7f3;border-radius:6px;color:#9ba098}.admin-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:9px}.admin-search kbd{background:#efefe9;border-color:#e2e2da;font-size:7.5px;min-width:20px;height:17px}.admin-announce-btn{display:flex;align-items:center;gap:4px;height:31px;padding:0 10px;border-radius:6px;background:#264f41;color:#f2eee2;font-size:9px;font-weight:500}.admin-announce-btn:hover{background:#1c4034}.admin-notif-wrap,.admin-user-wrap{position:relative}.admin-icon-btn{width:31px;height:31px;display:grid;place-items:center;border-radius:6px;border:1px solid #e3e4dd;color:#748077;background:#fff;position:relative}.admin-icon-btn:hover,.admin-icon-btn.is-active{background:#eef3ef;color:#2e5b4d;border-color:#cfdad2}.admin-icon-btn--sm{width:28px;height:28px;border-radius:5px}.admin-notif-count{position:absolute;top:-5px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:8px;display:grid;place-items:center;background:#b66548;border:1.5px solid #fafaf7;color:#fff;font-size:7px;font-weight:600}.admin-user-chip{display:flex;align-items:center;gap:7px;padding:2px 3px 2px 5px;border-radius:6px}.admin-user-chip:hover{background:#f2f2ed}.admin-user-chip>span:not(.admin-avatar){display:flex;flex-direction:column;align-items:flex-start}.admin-user-chip strong{font-size:8.5px;font-weight:600;color:#3e4a42}.admin-user-chip small{font-size:7px;color:#9ba098}.admin-user-chip>svg{color:#a3a89f;margin-left:2px}.admin-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:70;background:#fff;border:1px solid #e2e4dc;border-radius:9px;box-shadow:0 20px 45px -20px #1a271f47;animation:slideUp .2s both}.admin-notif-pop{width:320px;overflow:hidden}.admin-pop__head{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border-bottom:1px solid #ecece6}.admin-pop__head strong{font-size:10.5px;font-weight:600}.admin-pop__head span{color:#9ca29a;font-size:8px}.admin-notif-row{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:9px 12px;border-bottom:1px solid #f0f0eb}.admin-notif-row:hover{background:#f8f8f4}.admin-notif-dot{width:5px;height:5px;border-radius:50%;background:#bd704f;flex-shrink:0}.admin-notif-row>div{flex:1;display:flex;flex-direction:column}.admin-notif-row strong{font-size:9px;font-weight:500}.admin-notif-row span{color:#a0a59d;font-size:7.5px;margin-top:1px}.admin-notif-row>svg{color:#bac0b8}.admin-pop__foot{width:100%;display:flex;align-items:center;justify-content:center;gap:4px;padding:9px;color:#31584c;font-size:8.5px;background:#f7f8f4}.admin-user-pop{width:210px;padding:5px}.admin-user-pop__head{display:flex;gap:8px;align-items:center;padding:9px;border-bottom:1px solid #ecece6;margin-bottom:4px}.admin-user-pop__head>div{display:flex;flex-direction:column}.admin-user-pop__head strong{font-size:9.5px}.admin-user-pop__head span{color:#9ba098;font-size:7.5px}.admin-user-pop>button{width:100%;display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:5px;color:#5d6861;font-size:9px;text-align:left}.admin-user-pop>button:hover{background:#f4f5f0;color:#2e5b4d}.admin-content{flex:1;padding:23px 25px 0;width:100%;max-width:1560px;margin:0 auto}.admin-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:19px}.admin-eyebrow{display:flex;align-items:center;gap:6px;color:#8d958b;font-size:8px;font-weight:600;letter-spacing:.09em}.admin-page-head h1{font-family:var(--font-sans);font-size:24px;font-weight:650;letter-spacing:-.025em;color:#202b24;margin:5px 0 4px}.admin-page-head p{color:#8a938a;font-size:10px}.admin-page-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:33px;padding:0 12px;border-radius:6px;font-size:9px;font-weight:500;transition:.18s;white-space:nowrap;border:1px solid transparent}.admin-btn--primary{background:#264f41;color:#f3eee1;box-shadow:0 5px 12px -8px #264f4199}.admin-btn--primary:hover{background:#1c4034}.admin-btn--ghost{background:#fff;color:#69756c;border-color:#e1e3db}.admin-btn--ghost:hover{background:#f6f7f3;color:#31584c}.admin-placeholder-badge{display:flex;align-items:center;gap:5px;height:27px;padding:0 9px;border-radius:5px;background:#fbf5e9;border:1px solid #eee0c9;color:#9b7847;font-size:8px;font-weight:500}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.admin-kpi{background:#fff;border:1px solid #e4e5de;border-radius:9px;padding:15px 16px 13px;box-shadow:0 2px 8px -6px #1f2e251f}.admin-kpi__top{display:flex;justify-content:space-between;align-items:flex-start}.admin-kpi__icon{width:29px;height:29px;border-radius:7px;display:grid;place-items:center;background:#eaf1ec;color:#31584c}.admin-kpi__icon--blue{background:#edf1f5;color:#58758d}.admin-kpi__icon--gold{background:#f6efe3;color:#a47d48}.admin-kpi__icon--terracotta{background:#f8ece5;color:#b2694b}.admin-kpi__change{display:flex;align-items:center;gap:2px;font-size:7.5px;font-weight:600;padding:2px 5px;border-radius:4px}.admin-kpi__change.is-up{color:#2f6c58;background:#edf4ef}.admin-kpi__change.is-down{color:#a45b43;background:#f9eee9}.admin-kpi__label{display:block;color:#8c958c;font-size:8px;margin-top:10px}.admin-kpi__value{display:block;font-family:var(--font-num);font-size:27px;font-weight:600;letter-spacing:-.035em;color:#222e27;line-height:1.2;margin-top:1px}.admin-kpi__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:5px}.admin-kpi__foot>span{color:#a2a8a0;font-size:7.5px;line-height:1.4}.admin-kpi__foot .mini-bars{width:58px;flex-shrink:0}.mini-bars{display:flex;align-items:flex-end;gap:2px}.mini-bars span{flex:1;border-radius:1px 1px 0 0;min-height:3px}.admin-chart-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.72fr);gap:12px;margin-bottom:14px;align-items:stretch}.admin-card{background:#fff;border:1px solid #e4e5de;border-radius:9px;box-shadow:0 2px 8px -7px #1f2e2526;padding:16px 17px;min-width:0}.admin-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.admin-card__head h2{font-size:11.5px;font-weight:650;letter-spacing:-.01em;color:#28342c}.admin-card__head p{color:#9aa199;font-size:8px;margin-top:2px}.admin-head-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.admin-segment{display:inline-flex;gap:2px;background:#f4f5f1;padding:2px;border-radius:5px;border:1px solid #ecede7}.admin-segment button{padding:4px 7px;border-radius:3px;color:#929a91;font-size:7.5px;font-weight:500}.admin-segment button.is-active{background:#fff;color:#31584c;box-shadow:0 1px 3px #202c2414}.admin-chart-summary{display:flex;justify-content:space-between;align-items:flex-end;margin:15px 0 2px}.admin-chart-summary>div{display:flex;align-items:baseline;gap:7px}.admin-chart-summary span{color:#909990;font-size:8px}.admin-chart-summary strong{font-family:var(--font-num);font-size:22px;font-weight:600;letter-spacing:-.02em}.admin-chart-summary small{display:flex;align-items:center;gap:2px;font-size:7.5px;font-weight:500}.admin-chart-summary__note{display:flex;align-items:center;gap:4px;color:#8d958c!important;font-size:7.5px!important}.admin-chart{margin-top:4px}.admin-side-stack{display:flex;flex-direction:column;gap:12px}.admin-system-card{flex:1}.admin-live{display:flex;align-items:center;gap:4px;color:#4d7a60;font-size:7.5px;padding:2px 6px;border-radius:4px;background:#eff5f0}.admin-health-list{display:flex;flex-direction:column;gap:8px;margin-top:13px}.admin-health-row{display:flex;align-items:center;gap:7px}.admin-health-row__icon{width:24px;height:24px;border-radius:5px;display:grid;place-items:center;background:#f5f6f2;color:#6c786f}.admin-health-row>div{flex:1;min-width:0}.admin-health-row>div>span{display:flex;justify-content:space-between;color:#6e786f;font-size:8px}.admin-health-bar{height:3px;border-radius:3px;background:#f0f1ec;margin-top:3px;overflow:hidden}.admin-health-bar span{display:block;height:100%;background:linear-gradient(90deg,#6e9b7e,#9eb495);border-radius:3px}.admin-health-row strong{font-family:var(--font-num);font-size:8.5px;font-weight:500;color:#677168}.admin-card-link{display:flex;align-items:center;gap:3px;margin-top:12px;padding-top:9px;border-top:1px solid #eeeee8;color:#31584c;font-size:8px;font-weight:500;width:100%}.admin-card-link:hover{color:#1d4336}.admin-card-link--inline{width:auto;border:0;padding:0;margin:0;font-size:8px;justify-content:flex-end}.admin-count-badge{min-width:21px;height:19px;display:grid;place-items:center;background:#f7eee7;color:#b2694b;border-radius:4px;font-size:8px;font-weight:600}.admin-todo-list{display:flex;flex-direction:column;margin-top:6px}.admin-todo-row{display:flex;align-items:center;gap:7px;width:100%;padding:7px 0;border-bottom:1px solid #f0f0eb;text-align:left}.admin-todo-row:last-child{border-bottom:0}.admin-todo-icon{width:24px;height:24px;border-radius:5px;display:grid;place-items:center;flex-shrink:0}.admin-todo-icon--plum{background:#f0edf4;color:#75658b}.admin-todo-icon--gold{background:#f6f0e5;color:#a47d48}.admin-todo-icon--blue{background:#edf1f5;color:#58758d}.admin-todo-row>span:nth-child(2){flex:1;color:#5d6861;font-size:8.5px}.admin-todo-row b{min-width:16px;height:16px;border-radius:4px;display:grid;place-items:center;background:#f6f1e8;color:#98784a;font-size:7.5px}.admin-todo-row>svg{color:#bdc2ba}.admin-bottom-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:12px;margin-bottom:16px}.admin-activity-list{display:flex;flex-direction:column;margin-top:9px}.admin-activity-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f0f0eb}.admin-activity-row:last-child{border-bottom:0}.admin-activity-time{color:#a2a8a0;font-family:var(--font-num);font-size:8px;width:28px;flex-shrink:0}.admin-activity-dot{width:5px;height:5px;border-radius:50%;background:#8ba192;flex-shrink:0}.admin-activity-dot--gold{background:#c1a36e}.admin-activity-dot--plum{background:#9a8aac}.admin-activity-dot--blue{background:#7c95aa}.admin-activity-dot--terracotta{background:#c28d75}.admin-activity-dot--green{background:#7ca08a}.admin-activity-row>div{flex:1;display:flex;flex-direction:column;min-width:0}.admin-activity-row>div strong{font-size:8.5px;font-weight:500;color:#465148;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-activity-row>div span{color:#9ca39a;font-size:7.5px;margin-top:1px}.admin-activity-row .badge{font-size:7px;min-height:17px}.admin-module-list{display:flex;flex-direction:column;gap:8px;margin-top:13px}.admin-module-row{display:grid;grid-template-columns:66px 1fr 31px;gap:9px;align-items:center}.admin-module-row>span{color:#6d776e;font-size:8px}.admin-module-row>strong{font-family:var(--font-num);font-size:8.5px;font-weight:500;color:#536058;text-align:right}.admin-module-note{display:flex;align-items:center;gap:5px;margin-top:12px;padding:8px;border-radius:5px;background:#f5f7f2;color:#7f8b81;font-size:7.5px}.admin-module-note svg{color:#a68653}.admin-footer{display:flex;align-items:center;gap:15px;padding:13px 2px 18px;border-top:1px solid #e4e5de;color:#a0a69e;font-size:7.5px;margin-top:3px}.admin-footer__status{display:flex;align-items:center;gap:4px;margin-left:auto;color:#718078}.admin-placeholder-banner{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e4e5de;border-radius:8px;padding:13px 15px;margin-bottom:12px}.admin-placeholder-banner__icon{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:#eaf1ec;color:#31584c}.admin-placeholder-banner__icon--gold{background:#f6f0e4;color:#9f7c48}.admin-placeholder-banner__icon--blue{background:#edf1f5;color:#58758d}.admin-placeholder-banner__icon--terracotta{background:#f8ece5;color:#ad674b}.admin-placeholder-banner__icon--plum{background:#f1edf5;color:#75658b}.admin-placeholder-banner__copy{flex:1;min-width:0}.admin-placeholder-banner__copy strong{font-size:10px;font-weight:600}.admin-placeholder-banner__copy p{color:#939b92;font-size:8px;margin-top:2px}.admin-placeholder-banner__progress{display:grid;grid-template-columns:auto 90px auto;gap:7px;align-items:center;width:180px;flex-shrink:0}.admin-placeholder-banner__progress>span{color:#989f97;font-size:7.5px;white-space:nowrap}.admin-placeholder-banner__progress>strong{font-family:var(--font-num);font-size:9px;font-weight:500;color:#6d786f}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.admin-small-stat{background:#fff;border:1px solid #e4e5de;border-radius:8px;padding:12px 13px;display:flex;flex-direction:column}.admin-small-stat>span{color:#8e978e;font-size:8px}.admin-small-stat>strong{font-family:var(--font-num);font-size:21px;font-weight:600;letter-spacing:-.025em;color:#26332b;margin:2px 0}.admin-small-stat>small{color:#a1a79f;font-size:7.5px}.admin-manage-grid{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:12px;align-items:start}.admin-table-card{padding-bottom:0}.admin-table-actions{display:flex;align-items:center;gap:5px}.admin-table-search{display:flex;align-items:center;gap:4px;height:27px;padding:0 7px;border:1px solid #e6e7e0;border-radius:5px;background:#fafaf7;color:#a4aaa2;width:155px}.admin-table-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:7.5px}.admin-table-search button{display:grid;place-items:center;color:#9ca39a}.admin-table-wrap{overflow-x:auto;margin:12px -17px 0}.admin-table{width:100%;border-collapse:collapse;min-width:620px}.admin-table th{text-align:left;padding:8px 10px;background:#fafaf7;color:#979f96;font-size:7.5px;font-weight:500;border-top:1px solid #eeeee8;border-bottom:1px solid #eeeee8;white-space:nowrap}.admin-table th:first-child,.admin-table td:first-child{padding-left:17px}.admin-table th:last-child,.admin-table td:last-child{padding-right:17px;text-align:right}.admin-table td{padding:9px 10px;border-bottom:1px solid #f0f0eb;color:#6f7970;font-size:8px;white-space:nowrap}.admin-table tbody tr:hover{background:#fcfcf9}.admin-cell-primary{color:#3e4a42;font-weight:500}.admin-status{display:inline-flex;align-items:center;gap:4px;font-size:7.5px}.admin-status .status-dot{width:4px;height:4px}.admin-status.is-good{color:#527660}.admin-status.is-good .status-dot{background:#6da183}.admin-status.is-warn{color:#a57e4d}.admin-status.is-warn .status-dot{background:#cba46e}.admin-status.is-neutral{color:#8e9690}.admin-status.is-neutral .status-dot{background:#b7bdb6}.admin-row-action{width:22px;height:22px;border-radius:4px;display:inline-grid;place-items:center;color:#9ba29a}.admin-row-action:hover{background:#f1f3ee;color:#31584c}.admin-table-empty{text-align:center!important;color:#a0a79e!important;padding:30px!important}.admin-table-foot{display:flex;justify-content:space-between;align-items:center;padding:9px 0 11px;color:#9da49c;font-size:7.5px}.admin-pagination{display:flex;gap:3px}.admin-pagination button{width:21px;height:21px;display:grid;place-items:center;border:1px solid #e7e8e2;border-radius:4px;color:#8b948b;font-size:8px;background:#fff}.admin-pagination button.is-active{background:#eef4f0;border-color:#cbdcd2;color:#31584c}.admin-pagination button:disabled{opacity:.4}.admin-manage-grid .admin-side-stack{gap:10px}.admin-feature-card .admin-card__head,.admin-next-card .admin-card__head{align-items:center}.admin-feature-card .admin-card__head>svg,.admin-next-card .admin-card__head>svg{color:#98a097}.admin-checklist{display:flex;flex-direction:column;gap:7px;margin-top:11px}.admin-checklist>div{display:flex;align-items:flex-start;gap:6px;color:#6d786f;font-size:8px;line-height:1.5}.admin-checklist svg{color:#5e876e;flex-shrink:0;margin-top:1px}.admin-next-list{display:flex;flex-direction:column;gap:8px;margin-top:11px}.admin-next-list>div{display:flex;gap:7px;align-items:flex-start}.admin-next-list span{font-family:var(--font-num);font-size:9px;color:#baa277}.admin-next-list p{color:#707a72;font-size:8px;line-height:1.5}.admin-permission-note{display:flex;gap:8px;background:#f5f7f2;border-color:#e7e9e1}.admin-permission-note>svg{color:#6d8c78;flex-shrink:0;margin-top:1px}.admin-permission-note strong{display:block;font-size:8.5px;color:#526158;margin-bottom:2px}.admin-permission-note p{color:#8d978e;font-size:7.5px;line-height:1.6}.admin-announce-form{display:flex;flex-direction:column;gap:12px}.admin-announce-form .field__label{font-size:10px}.admin-announce-form .input{font-size:11px;height:37px}.admin-announce-form .textarea{font-size:11px}.admin-announce-note{display:flex;align-items:center;gap:5px;color:#8d978e;font-size:8px;padding:8px;background:#f5f7f2;border-radius:5px}.admin-announce-note svg{color:#a68653}.admin-mobile-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#111c166b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-mobile-drawer{width:250px;height:100%;background:#18261f;overflow-y:auto;padding-bottom:18px;animation:slideInRight .28s both}.admin-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.06)}.admin-mobile-head .admin-brand{border-bottom:0;flex:1}.admin-mobile-head>button{color:#dfe4dc8c;width:32px;height:32px;display:grid;place-items:center;margin-right:8px}.admin-mobile-drawer .admin-back-link{margin:12px 14px 0}@media(max-width:1280px){.admin-kpi-grid{gap:9px}.admin-kpi{padding:13px}.admin-kpi__value{font-size:23px}.admin-chart-grid{grid-template-columns:minmax(0,1.55fr) minmax(270px,.78fr)}.admin-bottom-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.8fr)}}@media(max-width:1120px){.admin-kpi-grid{grid-template-columns:1fr 1fr}.admin-chart-grid{grid-template-columns:1fr}.admin-side-stack{display:grid;grid-template-columns:1fr 1fr}.admin-bottom-grid,.admin-manage-grid{grid-template-columns:1fr}.admin-manage-grid .admin-side-stack{display:grid;grid-template-columns:1fr 1fr}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-search{width:170px}}@media(max-width:980px){.admin-sidebar{display:none}.admin-main{margin-left:0}.admin-menu-btn{display:flex}.admin-topbar{padding:0 16px}.admin-content{padding:18px 16px 0}}@media(max-width:780px){.admin-search{display:none}.admin-announce-btn span,.admin-announce-btn{font-size:0;width:31px;padding:0;justify-content:center}.admin-announce-btn svg{width:15px;height:15px}.admin-user-chip>span:not(.admin-avatar),.admin-user-chip>svg{display:none}.admin-page-head{flex-direction:column;align-items:flex-start;gap:12px}.admin-page-actions{width:100%}.admin-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.admin-kpi__value{font-size:21px}.admin-side-stack,.admin-manage-grid .admin-side-stack{grid-template-columns:1fr}.admin-placeholder-banner{flex-wrap:wrap}.admin-placeholder-banner__copy{flex-basis:calc(100% - 55px)}.admin-placeholder-banner__progress{width:100%;grid-template-columns:auto 1fr auto}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-activity-row>div strong{white-space:normal}.admin-footer{flex-wrap:wrap;gap:7px}.admin-footer__status{margin-left:0}.admin-notif-pop{width:min(calc(100vw - 24px),320px);right:-28px}.admin-user-pop{right:0}.admin-bottom-grid{margin-bottom:14px}}@media(max-width:520px){.admin-topbar{height:55px}.admin-breadcrumb>span,.admin-breadcrumb svg{display:none}.admin-page-head h1{font-size:21px}.admin-kpi{padding:11px}.admin-kpi__value{font-size:19px}.admin-kpi__label{font-size:7.5px}.admin-kpi__foot>span{font-size:7px}.admin-kpi__foot .mini-bars{width:44px}.admin-card{padding:13px}.admin-chart-summary{flex-wrap:wrap;gap:6px}.admin-chart-summary>div{flex-wrap:wrap}.admin-card__head{flex-wrap:wrap}.admin-head-actions{width:100%;justify-content:space-between}.admin-table-actions .admin-table-search{width:125px}.admin-placeholder-badge{font-size:7px}.admin-btn{font-size:8px;padding:0 10px}.admin-stat-grid{gap:7px}.admin-small-stat{padding:10px}.admin-small-stat>strong{font-size:18px}.admin-manage-grid{gap:9px}.admin-table-wrap{margin:10px -13px 0}.admin-table th:first-child,.admin-table td:first-child{padding-left:13px}.admin-table th:last-child,.admin-table td:last-child{padding-right:13px}.admin-activity-row{align-items:flex-start}.admin-activity-row .badge{display:none}}.admin-nav__item{font-size:11px;min-height:32px}.admin-nav__title{font-size:8px}.admin-sidebar__user strong{font-size:10.5px}.admin-sidebar__user span:not(.admin-avatar){font-size:8.5px}.admin-env{font-size:9.5px}.admin-brand__copy small{font-size:8px}.admin-breadcrumb{font-size:10.5px}.admin-search input{font-size:10px}.admin-search kbd{font-size:8px}.admin-announce-btn{font-size:10px}.admin-user-chip strong{font-size:9.5px}.admin-user-chip small{font-size:8px}.admin-page-head h1{font-size:26px}.admin-page-head p{font-size:11px}.admin-eyebrow{font-size:9px}.admin-btn{font-size:10px;height:34px}.admin-placeholder-badge{font-size:9px;height:29px}.admin-kpi__label{font-size:9.5px}.admin-kpi__value{font-size:29px}.admin-kpi__foot>span{font-size:8.5px}.admin-kpi__change{font-size:8.5px}.admin-card__head h2{font-size:13px}.admin-card__head p{font-size:9.5px}.admin-segment button{font-size:8.5px;padding:5px 8px}.admin-chart-summary span{font-size:9px}.admin-chart-summary strong{font-size:25px}.admin-chart-summary small{font-size:8.5px}.admin-chart-summary__note{font-size:8.5px!important}.admin-health-row>div>span{font-size:9px}.admin-health-row strong{font-size:9.5px}.admin-live{font-size:8.5px}.admin-card-link{font-size:9px}.admin-todo-row>span:nth-child(2){font-size:9.5px}.admin-todo-row b{font-size:8.5px}.admin-activity-row>div strong{font-size:9.5px}.admin-activity-row>div span{font-size:8.5px}.admin-activity-time{font-size:9px}.admin-activity-row .badge{font-size:8px}.admin-module-row>span{font-size:9px}.admin-module-row>strong{font-size:9.5px}.admin-module-note,.admin-footer{font-size:8.5px}.admin-health>div:first-child{font-size:9.5px}.admin-health>span{font-size:8.5px}.admin-back-link{font-size:9px}.admin-pop__head strong{font-size:11.5px}.admin-pop__head span{font-size:9px}.admin-notif-row strong{font-size:10px}.admin-notif-row span{font-size:8.5px}.admin-notif-row>svg{width:15px}.admin-pop__foot{font-size:9.5px}.admin-user-pop__head strong{font-size:10.5px}.admin-user-pop__head span{font-size:8.5px}.admin-user-pop>button{font-size:10px}.admin-placeholder-banner__copy strong{font-size:11px}.admin-placeholder-banner__copy p{font-size:9px}.admin-placeholder-banner__progress>span,.admin-placeholder-banner__progress>strong{font-size:8.5px}.admin-small-stat>span{font-size:9px}.admin-small-stat>strong{font-size:23px}.admin-small-stat>small{font-size:8.5px}.admin-table th{font-size:8.5px}.admin-table td{font-size:9.5px}.admin-status,.admin-table-search input,.admin-table-foot{font-size:8.5px}.admin-checklist>div{font-size:9px}.admin-next-list p{font-size:9px}.admin-permission-note strong{font-size:9.5px}.admin-permission-note p{font-size:8.5px}.admin-announce-form .field__label{font-size:11px}.admin-announce-form .input,.admin-announce-form .textarea{font-size:12px}.admin-announce-note{font-size:9px}@media(max-width:520px){.admin-kpi__foot>span{font-size:7.5px}.admin-page-head p{font-size:10.5px}.admin-card__head h2{font-size:12px}.admin-nav__item{font-size:11.5px}.admin-table td{font-size:9px}.admin-placeholder-badge{font-size:8px}.admin-stat-grid .admin-small-stat>strong{font-size:19px}}.admin-sidebar__insight{margin:8px 14px 12px;padding:12px;border-radius:8px;background:linear-gradient(145deg,#bb9c6a1c,#ffffff06);border:1px solid rgba(218,196,158,.12)}.admin-sidebar__insight-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.admin-sidebar__insight-top span{color:#dfe4dc6b;font-size:8.5px}.admin-sidebar__insight-top strong{color:#d9c39c;font-family:var(--font-num);font-size:15px;font-weight:500}.admin-sidebar__insight p{margin:4px 0 9px;color:#f2eadb91;font-size:9px;line-height:1.55}.admin-sidebar__insight-bar{height:3px;border-radius:4px;background:#ffffff12;overflow:hidden}.admin-sidebar__insight-bar span{display:block;width:63%;height:100%;background:linear-gradient(90deg,#ceb486,#9a7c49);border-radius:4px}.admin-sidebar__insight small{display:block;margin-top:7px;color:#dfe4dc3d;font-size:7.5px;letter-spacing:.02em}:root{--bg: #f5f1e8;--bg-deep: #ece6da;--surface: #fdfaf3;--surface-2: #f5f0e6;--surface-3: #ece6da;--ink: #292a24;--ink-2: #4a4b42;--muted: #726d62;--muted-2: #9b9487;--line: #ded6c7;--line-strong: #c9c0af;--green: #415f50;--green-deep: #2d493c;--green-deeper: #243a30;--green-soft: #e7eee8;--green-pale: #f1f5f1;--terracotta: #a1543b;--terracotta-soft: #f2e4db;--gold: #987346;--gold-soft: #f2e9da;--blue: #566e80;--blue-soft: #e9eef1;--rose: #906771;--rose-soft: #f1e6e7;--plum: #6d617e;--plum-soft: #ece8ef;--neutral-soft: #efebe2;--shadow-sm: 0 1px 0 rgba(54, 48, 38, .03);--shadow: 0 8px 24px -22px rgba(54, 48, 38, .2);--shadow-lg: 0 24px 65px -34px rgba(46, 42, 33, .35);--radius: 16px;--radius-md: 12px;--radius-sm: 9px;--font-serif: "Jiahe Serif", "Noto Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;--font-sans: "Avenir Next", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;--sidebar-w: 272px;--app-gap: 38px}html{font-size:16px}body{font-size:15.5px;line-height:1.68;letter-spacing:.002em;background:var(--bg);color:var(--ink)}button,input,select,textarea{font-family:var(--font-sans)}h1,h2,h3,.section-title,.card-head h2,.page-head__copy h1{font-family:var(--font-serif);letter-spacing:0}::selection{background:#e7d8c3;color:var(--ink)}::-webkit-scrollbar-thumb{background:#c8bfae}.eyebrow{font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.08em;text-transform:none;color:var(--muted)}.eyebrow--light{color:var(--muted)}.page-head{margin:10px 0 30px;gap:24px;align-items:flex-end}.page-head__copy h1{font-size:clamp(34px,3.25vw,44px);font-weight:600;line-height:1.35;letter-spacing:-.01em;margin:7px 0 8px}.page-head__copy p{color:var(--muted);font-size:15px;line-height:1.7;max-width:630px}.page-head__actions{gap:12px}.section-head{margin-bottom:22px}.section-title{font-size:26px}.section-desc{font-size:14.5px;margin-top:6px}.card-head h2{font-size:23px;line-height:1.36}.card-head p{font-size:13px}.card-head__icon{width:20px;height:20px}.text-link{font-size:13px;gap:6px}.link-btn{font-size:13px}.muted{font-size:14px}.card-head .text-link{margin-top:6px}.btn{height:42px;padding:0 18px;font-size:14px;border-radius:9px;font-weight:600}.btn--sm{height:34px;padding:0 13px;font-size:13px;border-radius:8px}.btn--lg{height:48px;padding:0 24px;font-size:15px}.btn--primary{box-shadow:none;background:var(--green-deep)}.btn--primary:hover{background:#223d31}.btn--outline{background:transparent;border-color:var(--line-strong)}.btn--outline:hover{background:var(--surface)}.btn--ghost:hover{background:var(--surface-2)}.icon-btn{width:40px;height:40px}.btn-count{min-width:20px;height:20px;font-size:11px}.link-btn svg,.text-link svg{opacity:.8}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:26px}.badge{min-height:24px;padding:3px 10px;font-size:12px;font-weight:500;border-radius:5px}.badge__dot{width:5px;height:5px}.avatar{border-width:2px}.progress{background:#e8e1d4}.progress__fill--green{background:#5e7f69}.progress__fill--gold{background:#b09262}.progress__fill--terracotta{background:#b17257}.progress__fill--blue{background:#758b99}.sidebar{left:0;top:0;bottom:0;width:var(--sidebar-w);background:var(--surface);color:var(--ink);border-radius:0;border-right:1px solid var(--line);box-shadow:none}.sidebar:after{display:none}.sidebar__brand{padding:28px 24px 19px}.brand{gap:12px}.brand__seal{width:44px;height:44px;border-radius:9px;border:1px solid #cbb9a0;background:#f6ede0;color:var(--terracotta);font-size:23px}.brand__seal i{top:4px;right:4px;bottom:4px;left:4px;border-color:#ddcdb8;border-radius:6px}.brand__name{color:var(--ink);font-size:25px;letter-spacing:.11em;font-weight:600}.brand__sub{color:var(--muted);font-size:10.5px;letter-spacing:.14em;margin-top:5px}.sidebar__family{margin:0 16px 18px;padding:16px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}.sidebar__family:after{color:#415f500a;font-size:80px}.sidebar__family-top{color:var(--muted-2)}.sidebar__family-kicker{font-size:10.5px;letter-spacing:.09em}.sidebar__family-name{color:var(--ink);font-size:16px;margin-top:7px;font-weight:600}.sidebar__family-meta{color:var(--muted);font-size:11.5px;margin-top:4px;gap:6px}.sidebar__avatars{margin-top:12px}.sidebar__avatars .avatar{width:24px;height:24px;border-color:var(--surface-2);font-size:10px}.sidebar__avatars-more{font-size:10.5px;color:var(--muted)}.sidebar__nav{padding:0 14px 8px}.nav-group{margin-bottom:13px}.nav-group__title{padding:10px 12px 5px;color:#a39a8b;font-size:10.5px;font-weight:600;letter-spacing:.1em}.nav-item{min-height:40px;padding:8px 12px;gap:11px;border-radius:8px;color:#5c584f;font-size:14px;font-weight:500}.nav-item svg{width:18px;height:18px;opacity:.72}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.is-active{background:#eae2d4;color:var(--ink);font-weight:600;box-shadow:none}.nav-item.is-active svg{color:var(--terracotta);opacity:1}.nav-item__dot{left:-14px;width:3px;height:16px;background:transparent;border-radius:2px}.nav-item.is-active .nav-item__dot{background:var(--terracotta)}.sidebar__foot{border-top:1px solid var(--line);padding:13px 22px 19px}.sidebar__motto-mark{color:#c6b89f;font-size:28px}.sidebar__motto p{color:#605b51;font-size:13px;line-height:1.7;letter-spacing:.03em}.sidebar__motto small{color:var(--muted-2);font-size:10.5px;margin-top:4px}.sidebar__version{color:var(--muted-2);font-size:10.5px}.sidebar__admin-link{color:var(--terracotta);font-size:12px;margin-top:9px;gap:6px}.sidebar__admin-link:hover{color:#7d3d2b}.mobile-drawer__panel{background:var(--surface);width:300px}.mobile-drawer__close{color:var(--ink)}.app-main{margin-left:var(--sidebar-w);padding:0 var(--app-gap)}.topbar{height:84px;background:#f5f1e8e6;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar__left{gap:18px}.topbar__crumb{font-size:13px;gap:8px}.topbar__date{font-size:12px;color:var(--muted);padding-left:17px}.topbar__right{gap:10px}.search-trigger{width:250px;height:40px;padding:0 13px;font-size:13px;border-radius:8px;background:var(--surface)}.search-trigger span{padding-right:8px}kbd{font-size:10px;min-width:26px;height:23px;background:var(--surface-2);border-color:var(--line)}.quick-trigger{height:40px;padding:0 15px;border-radius:8px;font-size:13px;gap:6px}.notif-trigger{width:40px;height:40px}.notif-count{font-size:10px;min-width:18px;height:18px}.user-chip{height:44px}.user-chip__copy strong{font-size:13px}.user-chip__copy small{font-size:10.5px}.user-chip>svg{width:15px;height:15px}.page-wrap{max-width:1420px}.site-footer{font-size:11.5px;padding:17px 0 27px;color:var(--muted-2)}.site-footer__dot{width:4px;height:4px}.quickadd-pop{width:350px;padding:12px;border-radius:12px}.quickadd-pop__head{padding:8px 10px 12px}.quickadd-pop__head span{font-size:17px}.quickadd-pop__head small{font-size:12px;margin-top:3px}.quickadd-item{padding:11px 10px;gap:12px;border-radius:8px}.quickadd-item__icon{width:38px;height:38px;border-radius:8px}.quickadd-item__copy strong{font-size:14px}.quickadd-item__copy small{font-size:12px}.notif-pop{width:390px;border-radius:12px}.notif-pop__head{padding:17px 17px 12px}.notif-pop__head strong{font-size:18px}.notif-pop__head span,.notif-pop__head button{font-size:12px}.notif-item{padding:11px 10px;gap:11px;border-radius:8px}.notif-item__icon{width:34px;height:34px}.notif-item__copy strong{font-size:13.5px}.notif-item__copy small{font-size:12px}.notif-pop__all{font-size:13px;padding:13px}.user-pop{width:260px;border-radius:12px;padding:7px}.user-pop__head{padding:12px 10px 14px}.user-pop__head strong{font-size:14px}.user-pop__head small{font-size:11.5px}.user-pop>button,.user-pop__foot button{font-size:13px;padding:10px;border-radius:7px}.command-layer{padding-top:12vh}.command{width:min(92vw,700px);border-radius:14px}.command__input{padding:18px 20px}.command__input input{font-size:16px}.command__body{padding:10px;max-height:60vh}.command__group-title{font-size:11px;padding:9px 11px 5px}.command__row{padding:11px;font-size:14px;border-radius:8px}.command__row small{font-size:12px}.command__icon{width:32px;height:32px}.command__foot{font-size:11px;padding:11px 17px}.toast{font-size:14px;min-height:48px;padding:12px 16px;border-radius:9px}.toast-stack{max-width:400px}.modal{border-radius:16px}.modal__head{padding:24px 27px 18px}.modal__head h2{font-size:24px}.modal__head p{font-size:13.5px}.modal__body{padding:22px 27px}.modal__footer{padding:16px 27px;gap:10px}.drawer__head{padding:26px 28px 18px}.drawer__head h2{font-size:26px}.drawer__head p{font-size:13px}.drawer__body{padding:24px 28px}.drawer__footer{padding:17px 28px}.field{gap:7px}.field__label{font-size:13.5px}.field__hint{font-size:12px}.input{height:44px;font-size:14px;border-radius:8px;padding:0 13px}.textarea{padding:11px 13px;line-height:1.7}.select{padding-right:32px}.tabs{border-radius:9px;padding:4px}.tab{font-size:13.5px;padding:8px 14px;border-radius:7px}.tab__count{font-size:11px;min-width:19px;height:19px}.segmented{border-radius:9px;padding:4px}.segmented button{font-size:13px;padding:8px 13px;border-radius:7px}.segmented--sm button{font-size:12px}.empty-state h3{font-size:19px}.empty-state p{font-size:13.5px}.dashboard-top{grid-template-columns:minmax(0,1.52fr) minmax(340px,.88fr);gap:20px}.home-letter{position:relative;min-height:348px;padding:36px 38px 30px;background:#f0e7d8;border:1px solid #d8cbb9;border-radius:16px;box-shadow:6px 6px #a1543b0e;display:flex;flex-direction:column;overflow:hidden}.home-letter:before{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;border:1px solid rgba(161,84,59,.11);border-radius:10px;pointer-events:none}.home-letter__top{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:1}.home-letter__label{display:flex;align-items:center;gap:9px;color:var(--terracotta);font-size:13px;font-weight:600;letter-spacing:.05em}.home-letter__label i{width:22px;height:1px;background:var(--terracotta);display:inline-block}.home-letter__date{color:#857a68;font-size:12.5px}.home-letter h2{position:relative;z-index:1;margin:27px 0 12px;font-family:var(--font-serif);font-size:clamp(30px,2.7vw,38px);line-height:1.45;font-weight:600;color:#2d3028}.home-letter__body{position:relative;z-index:1;max-width:620px;color:#5f5a4f;font-size:15.5px;line-height:1.9}.home-letter__body strong{color:var(--ink);font-weight:600}.home-letter__facts{position:relative;z-index:1;display:flex;align-items:stretch;gap:0;margin:24px 0 0;padding:17px 0;border-top:1px solid rgba(122,103,78,.2);border-bottom:1px solid rgba(122,103,78,.2)}.home-letter__facts>div{flex:1;padding-right:22px;margin-right:22px;border-right:1px solid rgba(122,103,78,.17)}.home-letter__facts>div:last-child{border-right:0;margin-right:0;padding-right:0}.home-letter__facts span{display:block;color:#817665;font-size:12.5px}.home-letter__facts strong{display:block;margin-top:3px;font-family:var(--font-num);font-size:24px;line-height:1.3;font-weight:600;color:var(--ink)}.home-letter__footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding-top:19px;position:relative;z-index:1}.home-letter__family{display:flex;align-items:center;gap:10px}.home-letter__family .avatar{border-color:#f0e7d8}.home-letter__family>span{color:#7b705f;font-size:12.5px}.home-letter__actions{display:flex;align-items:center;gap:17px}.letter-link{display:inline-flex;align-items:center;gap:5px;color:var(--green-deep);font-size:13px;font-weight:600;padding-bottom:2px;border-bottom:1px solid rgba(45,73,60,.3)}.letter-link:hover{color:var(--terracotta);border-color:#a1543b66}.letter-link--muted{color:#7a7060;border-color:transparent;font-weight:500}.letter-link--muted:hover{color:var(--terracotta)}.home-letter__seal{position:absolute;right:34px;top:74px;width:56px;height:56px;display:grid;place-items:center;border:1px solid rgba(161,84,59,.32);border-radius:6px;color:#a1543ba6;font-family:var(--font-serif);font-size:25px;transform:rotate(2deg);z-index:1}.home-letter h2{padding-right:100px}.month-card{padding:26px 27px 22px;border-radius:var(--radius)}.month-card__head h2{font-size:20px}.month-card__flow{margin-top:22px}.flow-label{font-size:12.5px;gap:6px}.month-card__flow strong{font-size:23px;margin-top:5px}.month-card__balance{padding:14px 15px;border-radius:8px;margin-top:16px;gap:8px}.month-card__balance>div>span{font-size:12.5px}.month-card__balance>div>strong{font-size:23px}.delta-pill{font-size:11px;padding:3px 7px}.month-card__budget{margin-top:18px}.month-card__budget-head{font-size:12.5px;margin-bottom:8px}.month-card__budget-head strong{font-size:13px}.month-card__budget-foot{font-size:11px;margin-top:7px}.month-card__foot{padding-top:16px}.mini-insight{font-size:12px}.month-card .round-arrow{width:36px;height:36px;border-radius:50%}.dashboard-middle{margin-top:20px;gap:20px;grid-template-columns:minmax(0,1.52fr) minmax(320px,.88fr)}.dashboard-lower,.dashboard-bottom{margin-top:20px;gap:20px}.cashflow-card,.expense-card,.family-snapshot,.agenda-card,.allocation-card,.life-alerts-card{padding:26px 27px;border-radius:var(--radius)}.chart-legend{font-size:12px;gap:14px}.cashflow-chart{margin-top:18px}.cashflow-foot{padding-top:14px;gap:16px}.cashflow-insight{font-size:12.5px;gap:0}.cashflow-insight p{font-size:12.5px;line-height:1.6}.insight-mark{display:none}.donut-legend{gap:8px;margin-top:7px}.donut-legend__row{font-size:12px}.donut-legend__name{width:76px;gap:7px}.donut-legend__name i{width:7px;height:7px}.donut-legend__value{font-size:12.5px}.donut-legend__pct{font-size:11.5px;width:35px}.family-portrait-row{margin-top:20px;gap:8px}.family-portrait{padding:12px 4px 10px}.family-portrait strong{font-size:13px;margin-top:7px}.family-portrait span{font-size:11.5px}.birthday-strip{padding:14px 16px;border-radius:9px;margin-top:18px;gap:18px}.birthday-strip__title{font-size:12px}.birthday-date{width:39px;height:40px;border-radius:7px}.birthday-date strong{font-size:16px}.birthday-date span{font-size:9px}.birthday-item>div:last-child strong{font-size:12.5px}.birthday-item>div:last-child span{font-size:10.5px}.snapshot-motto{padding:12px 14px;margin-top:15px;border-radius:8px;gap:7px}.snapshot-motto p{font-size:13px}.snapshot-motto small{font-size:10px}.agenda-list{margin-top:14px}.agenda-item{padding:13px 4px;gap:12px}.agenda-icon{width:35px;height:35px;border-radius:8px}.agenda-title strong{font-size:13.5px}.agenda-person{font-size:10.5px;padding:2px 6px}.agenda-meta{font-size:11.5px;margin-top:2px}.agenda-check{width:29px;height:29px}.agenda-add{font-size:12px;padding:10px;margin-top:10px;border-radius:7px}.allocation-bar{margin:20px 0 16px;height:10px}.allocation-row{font-size:12.5px;gap:9px}.allocation-name{width:90px;font-size:12.5px}.allocation-val,.allocation-row strong{font-size:12.5px}.allocation-row strong{width:42px}.allocation-foot{font-size:12px;padding-top:14px;margin-top:16px;gap:9px}.allocation-foot button{font-size:12px}.life-alert-list{margin-top:13px;gap:6px}.life-alert{padding:10px 8px;gap:10px;border-radius:8px}.life-alert__icon{width:32px;height:32px;border-radius:7px}.life-alert__copy strong{font-size:12.5px}.life-alert__copy span{font-size:10.5px}.life-alert .badge{font-size:10.5px;min-height:22px}.life-alert-foot strong{font-size:21px}.life-alert-foot span{font-size:11.5px}.culture-card{background:#eee1d3;color:var(--ink);border:1px solid #dac7b4;box-shadow:none;border-radius:var(--radius);padding:26px 27px}.culture-card .eyebrow{color:#8d6d54}.culture-icon{border-color:#ccb39c;color:#9b765b;width:34px;height:34px}.culture-quote{margin:18px 0 13px}.culture-quote>span{color:#a1543b52;font-size:38px}.culture-quote p{color:#3d3b32;font-size:21px;letter-spacing:.05em;line-height:1.6}.culture-story{border-color:#7d634938;padding-top:12px}.culture-story>span{color:#8f7c68;font-size:10.5px}.culture-story strong{color:#34362d;font-size:13.5px;margin:4px 0}.culture-story p{color:#75695a;font-size:12px;line-height:1.7}.culture-link{color:#8d533d;font-size:12.5px;padding-top:15px}.culture-link:hover{color:#6f3d2b}.culture-mark{color:#6c52370e}.family-overview{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:none;padding:6px;margin-bottom:22px}.family-overview__item{padding:12px 16px;border-color:var(--line);gap:12px}.family-overview__icon{width:38px;height:38px;border-radius:8px}.family-overview__item strong{font-size:24px}.family-overview__item span{font-size:11.5px;margin-top:3px}.family-overview__motto{padding:0 18px 0 22px}.family-overview__motto>span{font-size:10.5px}.family-overview__motto strong{font-size:17px;margin-top:4px}.family-tabs{margin-bottom:20px}.family-layout{grid-template-columns:minmax(0,1fr) 356px;gap:20px}.tree-card{padding:28px 28px 22px;border-radius:var(--radius)}.tree-card__head{margin-bottom:10px}.tree-card__head h2{font-size:26px;margin-top:4px}.tree-card__legend{font-size:11.5px;gap:15px;padding-top:9px}.tree-card__tip{font-size:11.5px}.family-tree{margin:18px -5px 0;padding:20px 11px;border-radius:12px;border:1px dashed #d4cabd;background:#faf6ed}.family-tree:before{font-size:180px}.tree-level{gap:10px}.tree-level__label{width:86px;gap:8px}.tree-level__label>span{font-size:10px}.tree-level__label strong{font-size:12px}.tree-level__label small{font-size:9.5px;line-height:1.5}.tree-level__units{gap:10px}.tree-node{width:192px;min-height:108px;padding:13px 14px;border-radius:10px;box-shadow:none}.tree-node:hover{box-shadow:0 7px 16px -14px #372f2540}.tree-node__top{gap:10px}.tree-node__name-line{gap:5px}.tree-node__name-line strong{font-size:14px}.tree-node__name-line .badge{font-size:9.5px;min-height:18px;padding:1px 5px}.tree-node__identity>span{font-size:11.5px;margin-top:2px}.tree-crown{width:18px;height:18px}.tree-node__meta{gap:8px;margin-top:10px;padding-top:9px;font-size:10.5px;line-height:1.45}.tree-node__meta svg{width:13px;height:13px}.tree-couple-link{width:22px}.tree-couple-heart{width:20px;height:20px}.tree-add-node{width:84px;height:84px;border-radius:9px;font-size:11px;gap:4px}.tree-connector{padding-left:96px;height:26px}.tree-card__foot{padding-top:18px}.tree-foot-quote p{font-size:13px;line-height:1.7}.tree-foot-quote>span{font-size:24px}.archive-card,.permission-card{padding:24px}.archive-card .card-head h2{font-size:19px}.archive-seal{width:38px;height:38px;font-size:17px}.archive-meta{margin-top:17px;gap:10px}.archive-meta>div{font-size:12.5px;gap:8px;line-height:1.6}.archive-meta svg{width:16px;height:16px}.archive-divider{margin:17px 0 13px}.archive-birthday-head>span{font-size:12.5px}.archive-birthday-head select{font-size:11.5px}.archive-birthday{padding:8px 4px;gap:9px}.archive-birthday>div strong{font-size:12.5px}.archive-birthday>div span{font-size:10.5px}.archive-birthday .badge{font-size:10px}.archive-oldest{padding:12px;margin-top:17px;gap:9px;border-radius:8px}.archive-oldest__label{font-size:9.5px;top:-8px}.archive-oldest p strong{font-size:12.5px}.archive-oldest p span{font-size:10.5px}.permission-card .card-head h2{font-size:18px}.permission-intro{font-size:12.5px;line-height:1.7;margin:12px 0}.permission-row{padding:8px 2px;gap:8px}.permission-person strong{font-size:12.5px}.permission-person span{font-size:10.5px}.role-select{font-size:10.5px;padding:4px 18px 4px 7px;border-radius:5px;background-position:right 5px center}.permission-foot{font-size:10.5px;margin-top:12px;gap:6px}.reminders-layout{grid-template-columns:minmax(0,1fr) 350px;gap:20px}.reminders-main{gap:20px}.reminder-summary-card{padding:18px 23px;gap:24px;border-radius:var(--radius)}.reminder-summary__item>span{width:36px;height:36px;border-radius:8px}.reminder-summary__item strong{font-size:22px}.reminder-summary__item small{font-size:11px;margin-top:2px}.reminder-list-card{padding:27px}.reminder-list-head h2{font-size:25px}.reminder-row{padding:18px 3px;gap:13px}.reminder-date{width:48px;height:53px;border-radius:7px}.reminder-date strong{font-size:21px}.reminder-date span{font-size:9.5px}.reminder-icon{width:34px;height:34px;border-radius:7px}.reminder-title-line>strong{font-size:14px}.reminder-relative{font-size:11px}.reminder-copy>p{font-size:12.5px;line-height:1.65;margin-top:4px}.reminder-members>span{font-size:10.5px}.reminder-done-btn,.reminder-delete-btn{width:33px;height:33px}.birthday-book,.reminder-quote-card{padding:24px}.birthday-book__list{margin-top:12px}.birthday-book__row{padding:9px 2px;gap:9px}.birthday-book__row strong{font-size:12.5px}.birthday-book__row span{font-size:10.5px}.birthday-book__days{font-size:11px}.birthday-book__note{font-size:10.5px;padding:10px;gap:6px;margin-top:12px}.reminder-quote-card p{font-size:14px;line-height:1.85}.reminder-quote-card span{font-size:10.5px}.member-profile__hero{padding-bottom:22px;gap:18px}.member-profile__name h3{font-size:27px}.member-profile__name .badge{font-size:11px}.member-profile__hero p{font-size:12.5px}.member-profile__bio{font-size:13px;line-height:1.7}.profile-detail-grid{gap:18px;padding:20px 0}.profile-detail-grid span{font-size:11.5px}.profile-detail-grid strong{font-size:13px}.profile-section{padding:18px 0}.profile-section__title{font-size:13px;gap:7px;margin-bottom:8px}.profile-section p{font-size:12.5px;line-height:1.75}.profile-section .count{font-size:11px}.profile-section .badge{font-size:10.5px}.permission-chips{gap:6px}.mini-reminder{padding:9px 0;gap:8px}.mini-reminder>span{font-size:10.5px;width:48px}.mini-reminder>strong{font-size:12px}.mini-reminder .badge{font-size:10px}.profile-contact-actions{padding-top:18px;gap:9px}.member-form__avatar{padding-bottom:20px;margin-bottom:20px;gap:16px}.member-form__avatar strong{font-size:12px}.color-picker button{width:22px;height:22px}.member-form,.reminder-form{gap:17px}.contact-stats{gap:16px;margin-bottom:20px}.contact-stat-card{padding:20px 21px;border-radius:var(--radius)}.contact-stat-card--dark{background:#eee3d5;color:var(--ink);border-color:#dccdbb}.contact-stat-card__icon{width:38px;height:38px;border-radius:8px;margin-bottom:12px}.contact-stat-card--dark .contact-stat-card__icon{background:#e2d4c1;color:var(--terracotta)}.contact-stat-card>div:nth-child(2){align-items:flex-end;gap:8px}.contact-stat-card>div:nth-child(2) span{font-size:12.5px;color:var(--muted)}.contact-stat-card--dark>div:nth-child(2) span{color:var(--muted)}.contact-stat-card>div:nth-child(2) strong{font-size:30px}.contact-stat-card>div:nth-child(2) small{font-size:10.5px}.contact-stat-card>p{font-size:11.5px;margin-top:5px;color:var(--muted)}.contact-stat-card--dark>p{color:var(--muted)}.contacts-toolbar-card{padding:16px 18px;margin-bottom:17px}.contacts-toolbar{gap:15px}.contacts-search{height:42px;width:320px;border-radius:8px;gap:8px;background:var(--surface)}.contacts-search input{font-size:13px}.contacts-tags{gap:6px}.tag-filter{font-size:12.5px;padding:7px 11px;border-radius:6px}.tag-filter span{font-size:10px}.sort-select{font-size:12px;padding:7px 28px 7px 11px;border-radius:6px}.contact-grid-head{font-size:12px;padding-bottom:12px}.contact-grid-head__hint{font-size:11.5px;gap:5px}.contact-grid{gap:18px}.contact-card{padding:21px;border-radius:var(--radius)}.contact-avatar{width:46px;height:46px;font-size:18px}.contact-avatar--lg{width:70px;height:70px;font-size:28px}.contact-name-line h3{font-size:18px}.contact-name-line .badge{font-size:11px}.contact-last{font-size:11px;gap:4px;margin-top:3px}.star-btn{width:30px;height:30px}.contact-note{font-size:12.5px;line-height:1.7;margin:13px 0;min-height:42px}.contact-latest-affair{font-size:11.5px;padding:9px 10px;gap:7px;border-radius:6px;margin-bottom:13px}.contact-latest-affair strong{font-size:12px}.mini-affair-icon{width:22px;height:22px}.contact-card__foot{padding-top:11px}.contact-quick-btn{width:30px;height:30px}.contact-affair-count{font-size:10.5px}.contact-detail-btn{font-size:12px;gap:4px}.contacts-bottom-note{font-size:11.5px;padding-top:20px}.contact-profile__name h3{font-size:27px}.contact-profile__hero p{font-size:12.5px;line-height:1.8}.contact-profile__buttons .btn{height:36px;font-size:12px}.contact-profile__details{gap:15px;padding:17px 0}.contact-profile__details span{font-size:11px}.contact-profile__details strong{font-size:12.5px}.affair-summary span{font-size:11px}.affair-summary strong{font-size:22px}.affair-summary button{font-size:12px}.profile-section-title-row h4{font-size:13px}.profile-section-title-row>span{font-size:11px}.affair-item{padding:13px 0;gap:11px}.affair-icon{width:31px;height:31px}.affair-copy strong{font-size:12.5px}.affair-copy p{font-size:11.5px;line-height:1.6}.affair-copy>span{font-size:10.5px}.affair-amount strong{font-size:13px}.ledger-toolbar-card{padding:14px 17px;margin-bottom:18px}.ledger-period{gap:15px}.period-nav button{width:32px;height:32px}.period-nav strong{font-size:15px;min-width:127px}.period-today{font-size:12px}.ledger-toolbar-actions{gap:9px}.ledger-search{width:235px;height:40px;border-radius:7px;gap:7px;background:var(--surface)}.ledger-search input{font-size:12.5px}.compact-select{font-size:12.5px;min-width:120px;height:40px}.ledger-stats{gap:16px;margin-bottom:18px}.ledger-stat{padding:20px 21px;border-radius:var(--radius)}.ledger-stat__top{font-size:12.5px;gap:8px}.ledger-stat__icon{width:32px;height:32px;border-radius:7px}.ledger-stat>strong{font-size:29px;margin:8px 0 4px}.ledger-stat>p{font-size:11.5px;line-height:1.6}.ledger-budget-value{margin:8px 0 9px;gap:7px}.ledger-budget-value strong{font-size:29px}.ledger-budget-value span{font-size:11.5px}.ledger-charts{gap:20px;margin-bottom:20px}.ledger-trend-card,.ledger-donut-card{padding:26px 27px}.ledger-trend-chart{margin-top:18px}.ledger-donut-list{gap:6px;margin-top:6px}.ledger-donut-list>div{font-size:11.5px}.ledger-donut-list strong{font-size:12px}.ledger-donut-list small{font-size:10.5px;width:34px}.transaction-card{padding:27px}.transaction-head h2{font-size:25px}.transaction-head__right{gap:11px}.reset-filters{font-size:11.5px}.add-line-btn{font-size:12px;padding:7px 10px;border-radius:6px}.transaction-table-head{grid-template-columns:76px minmax(210px,2fr) 112px 112px 128px 64px;gap:12px;padding:15px 8px 9px;font-size:11.5px}.transaction-row{grid-template-columns:76px minmax(210px,2fr) 112px 112px 128px 64px;gap:12px;padding:14px 8px;min-height:65px}.tx-date strong{font-size:14px}.tx-date span{font-size:10.5px}.tx-category-icon{width:36px;height:36px;border-radius:7px}.tx-title-line{gap:7px}.tx-title-line>strong{font-size:13px}.tx-cat-chip{font-size:10px;padding:2px 6px;border-radius:4px}.tx-sub{font-size:10.5px;margin-top:2px}.tx-member{font-size:11.5px;gap:6px}.tx-payment span{font-size:11.5px;padding:3px 7px}.tx-amount strong{font-size:14px}.tx-amount span{font-size:10px}.tx-actions{gap:3px}.tx-actions button{width:28px;height:28px}.load-more{font-size:12.5px;padding:13px;gap:7px}.load-more span{font-size:11px}.transaction-foot{font-size:11.5px;padding-top:13px;gap:14px}.transaction-foot button{font-size:11.5px}.tx-type-switch button{font-size:13px;padding:9px 17px}.amount-input-wrap{padding:12px 16px;border-radius:10px}.amount-input-wrap input{font-size:42px}.amount-input-wrap>span{font-size:25px}.amount-input-wrap small{font-size:11px}.quick-categories{gap:5px}.quick-categories button{font-size:11.5px;padding:7px 11px;border-radius:6px;gap:5px}.quick-categories button>span{width:24px;height:24px}.receipt-upload{padding:14px;border-radius:8px}.receipt-upload__title{font-size:12px}.receipt-upload p{font-size:11px;margin-top:3px}.receipt-add{height:33px;padding:0 11px;font-size:11.5px;border-radius:6px}.voice-btn{font-size:11.5px;height:29px;padding:0 10px}.placeholder-hero{gap:20px;margin-bottom:20px;grid-template-columns:minmax(0,1.45fr) minmax(340px,.9fr)}.placeholder-intro{min-height:320px;padding:32px 34px 28px;color:var(--ink);background:#efe6d7;border:1px solid #d8cbb9;border-radius:var(--radius);box-shadow:6px 6px #a1543b0d}.placeholder-intro__pattern,.placeholder-intro:after{display:none}.placeholder-intro__top{align-items:center}.placeholder-icon{width:60px;height:60px;border-radius:12px;border:1px solid #d2bda6;background:#f9f2e6;color:var(--terracotta)}.placeholder-icon--gold{color:#926c3b}.placeholder-icon--blue{color:var(--blue)}.placeholder-icon--rose{color:var(--rose)}.placeholder-icon--terracotta{color:var(--terracotta)}.placeholder-icon--plum{color:var(--plum)}.placeholder-status{padding:6px 11px;border:1px solid #d4c6b5;border-radius:5px;background:#fdfaf394;color:#796d5c;font-size:11.5px;gap:7px}.placeholder-intro__copy{margin-top:24px;max-width:560px}.placeholder-intro__copy h2{color:var(--ink);font-size:36px;margin:7px 0 9px}.placeholder-intro__copy p{color:#6b6559;font-size:14px;line-height:1.8}.placeholder-progress{padding-top:24px}.placeholder-progress span{color:#7d7261;font-size:11.5px}.placeholder-progress strong{color:var(--ink);font-size:19px}.placeholder-intro .progress__fill--light{background:var(--green)}.placeholder-intro__foot{margin-top:18px;padding-top:15px;border-top:1px solid rgba(120,103,80,.2);gap:18px}.placeholder-intro__foot span{color:#7a705f;font-size:11.5px}.placeholder-roadmap{padding:27px}.roadmap-list{margin-top:18px}.roadmap-item{padding:9px 0;gap:10px}.roadmap-marker{width:23px;height:23px}.roadmap-item:not(:last-child):after{left:11px;top:34px}.roadmap-item strong{font-size:12.5px}.roadmap-item>div>span{font-size:10.5px}.roadmap-note{padding:13px;border-radius:8px;background:#f3e9d9;border-color:#e2d2ba}.roadmap-note p{font-size:11.5px;line-height:1.7}.placeholder-preview-card{padding:28px;margin-bottom:22px}.placeholder-preview-head h2{font-size:24px}.placeholder-preview-head p{font-size:12.5px;margin-top:4px}.placeholder-section-head h2{font-size:24px}.placeholder-section-head__note{font-size:12px}.feature-grid{gap:16px}.feature-tile{padding:23px}.feature-tile__num{font-size:28px}.feature-tile__icon{width:32px;height:32px;margin-bottom:13px}.feature-tile h3{font-size:14px;line-height:1.55}.feature-tile p{font-size:12.5px;line-height:1.7;margin-top:6px}.feature-tile__status{font-size:10.5px;padding:3px 7px;margin-top:13px}.ready-card{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--terracotta);border-radius:var(--radius);box-shadow:none;padding:28px 30px}.ready-card__copy h2{color:var(--ink);font-size:26px}.ready-card__copy p{color:var(--muted);font-size:13.5px;line-height:1.75}.ready-links{gap:9px}.ready-link{width:164px;padding:10px 11px;border-radius:7px;border-color:var(--line);background:var(--surface-2)}.ready-link:hover{background:#efe7da;border-color:#cdbfab}.ready-link>span{width:29px;height:29px;border-radius:6px;background:#e9dfd0;color:var(--terracotta)}.ready-link strong{color:var(--ink-2);font-size:12.5px}.ready-link>svg{color:var(--muted)}.placeholder-back{font-size:12px}.placeholder-back>button,.placeholder-back>div button{font-size:12px}.preview-dashboard,.preview-investments,.preview-asset-wrap,.preview-goal-grid,.preview-legacy,.preview-inventory,.preview-shopping,.preview-meals,.preview-rules,.preview-stories,.preview-education,.preview-settings{background:#f6f1e7;border-color:#d8d0c2;border-radius:10px;padding:20px}.preview-stat{padding:13px 15px;border-radius:8px}.preview-stat span{font-size:11.5px}.preview-stat strong{font-size:21px}.preview-stat small{font-size:10.5px}.preview-panel{padding:15px 16px;border-radius:8px;margin-top:12px}.preview-panel__head strong{font-size:12.5px}.preview-panel__head span{font-size:11px}.preview-budget-row>span{font-size:11.5px}.preview-budget-row>strong{font-size:10.5px}.preview-budget-row{grid-template-columns:52px 1fr 150px;padding:6px 0}.preview-goal{padding:17px;border-radius:8px}.preview-goal__top{font-size:12px}.preview-goal>strong{font-size:23px}.preview-goal__target{font-size:10.5px}.preview-goal__foot{font-size:10px}.preview-asset-row{border-radius:7px;padding:10px 12px}.preview-asset-row>div strong{font-size:12px}.preview-asset-row>div span{font-size:10.5px}.preview-asset-row>strong{font-size:12px}.preview-asset-row .badge{font-size:9.5px}.preview-asset-thumb{width:34px;height:34px}.preview-side-stat{padding:17px;border-radius:8px}.preview-side-stat>span{font-size:11px}.preview-side-stat>strong{font-size:22px}.preview-side-stat>small{font-size:10.5px}.preview-legend,.preview-legacy-circle span{font-size:10.5px}.preview-legacy-circle strong{font-size:21px}.preview-legacy-circle small{font-size:10.5px}.preview-legacy-list>div{padding:9px 12px;border-radius:7px}.preview-legacy-list>div>span{font-size:12px}.preview-legacy-list>div>strong{font-size:12.5px}.preview-outline-btn{font-size:11px;padding:10px}.preview-inventory-row{padding:12px;border-radius:8px}.preview-inventory-row>div strong{font-size:12px}.preview-inventory-row>div span{font-size:10.5px}.preview-inventory-row>strong{font-size:10.5px}.preview-inventory-row .badge{font-size:9.5px}.preview-shop-row{font-size:12px;padding:10px 12px;border-radius:6px}.preview-shop-row .badge{font-size:9.5px}.preview-shop-foot{font-size:10.5px}.preview-meal-day>span{font-size:11px;padding:7px}.preview-meal-slot{padding:8px}.preview-meal-slot small{font-size:9.5px}.preview-meal-slot strong{font-size:10.5px}.preview-rule{padding:16px;border-radius:8px}.preview-rule__tag{font-size:10.5px}.preview-rule>strong{font-size:13px}.preview-rule>p{font-size:11px;line-height:1.65}.preview-rule__foot>span{font-size:10.5px}.preview-story__year{font-size:18px}.preview-story>div strong{font-size:12.5px}.preview-story>div p{font-size:11px;line-height:1.65}.preview-edu-kid{padding:13px 14px;border-radius:8px}.preview-edu-kid strong{font-size:13px}.preview-edu-kid span,.preview-edu-kid p{font-size:10.5px}.preview-edu-goal{padding:11px 14px;border-radius:7px}.preview-edu-goal>div strong{font-size:12px}.preview-edu-goal>div span{font-size:10.5px}.preview-edu-goal>strong{font-size:12px}.preview-setting-row{padding:12px 14px;border-radius:7px}.preview-setting-row>div strong{font-size:12.5px}.preview-setting-row>div span{font-size:10.5px}.preview-setting-row .badge{font-size:9.5px}.preview-shop-row .badge,.preview-inventory-row .badge,.preview-setting-row .badge,.preview-asset-row .badge{min-height:20px}.admin-shell{background:var(--bg);color:var(--ink);font-size:15px;line-height:1.62}.admin-sidebar{width:252px;background:var(--surface);color:var(--ink);border-right:1px solid var(--line)}.admin-brand{padding:23px 20px 18px;border-bottom:1px solid var(--line);gap:10px}.admin-brand__seal{width:38px;height:38px;border-radius:8px;background:#f4eadc;border-color:#cebca3;color:var(--terracotta);font-size:18px}.admin-brand__copy strong{color:var(--ink);font-size:20px;letter-spacing:.08em}.admin-brand__copy small{color:var(--muted);font-size:10.5px;margin-top:3px;letter-spacing:.03em}.admin-env{margin:15px 16px 12px;padding:8px 10px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:11.5px;gap:7px}.admin-env__version{font-size:10.5px;color:var(--muted-2)}.admin-sidebar__user{margin:0 16px 18px;padding:10px 11px;border-radius:7px;background:var(--surface-2);border:1px solid var(--line)}.admin-avatar{width:34px;height:34px;border-radius:7px;background:#e9d8c5;color:#744535;font-size:13px}.admin-avatar--sm{width:30px;height:30px;border-radius:6px;font-size:12px}.admin-sidebar__user strong{color:var(--ink);font-size:13px}.admin-sidebar__user span:not(.admin-avatar){color:var(--muted);font-size:11px}.admin-sidebar__user>svg{color:var(--muted-2)}.admin-nav{padding:0 11px 10px}.admin-nav__group{margin-bottom:15px}.admin-nav__title{padding:9px 10px 5px;color:#a09788;font-size:10.5px;font-weight:600;letter-spacing:.08em}.admin-nav__item{min-height:40px;padding:9px 10px;border-radius:7px;color:#5d594f;font-size:13.5px;gap:10px}.admin-nav__item svg{width:17px;height:17px;opacity:.72}.admin-nav__item:hover{background:var(--surface-2);color:var(--ink)}.admin-nav__item.is-active{background:#eae2d4;color:var(--ink);font-weight:600}.admin-nav__item.is-active:before{left:-11px;width:3px;height:18px;background:var(--terracotta)}.admin-nav__item.is-active svg{color:var(--terracotta);opacity:1}.admin-nav__item b{min-width:20px;height:19px;border-radius:4px;background:var(--terracotta-soft);color:var(--terracotta);font-size:10.5px}.admin-sidebar__insight{margin:8px 16px 14px;padding:15px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line)}.admin-sidebar__insight-top span{color:var(--muted);font-size:11.5px}.admin-sidebar__insight-top strong{color:var(--terracotta);font-size:18px}.admin-sidebar__insight p{color:var(--ink-2);font-size:12px;line-height:1.65;margin:5px 0 10px}.admin-sidebar__insight-bar{background:#e2d9ca;height:4px}.admin-sidebar__insight-bar span{background:#b07155}.admin-sidebar__insight small{color:var(--muted-2);font-size:10px;margin-top:8px}.admin-sidebar__bottom{padding:13px 16px 16px;border-color:var(--line)}.admin-health{padding:12px;background:var(--surface-2);border-color:var(--line);border-radius:7px}.admin-health>div:first-child{color:var(--ink-2);font-size:11.5px}.admin-health>span{color:var(--muted);font-size:10.5px;margin-top:3px}.admin-health__bar{background:#e3dacb;height:4px}.admin-health__bar span{background:#718b78}.admin-back-link{color:var(--muted);font-size:11.5px;margin-top:12px;gap:6px}.admin-back-link:hover{color:var(--terracotta)}.admin-main{margin-left:252px}.admin-topbar{height:76px;padding:0 32px;background:#f5f1e8eb;border-bottom:1px solid var(--line);gap:24px}.admin-breadcrumb{font-size:12.5px;gap:8px;color:var(--muted)}.admin-breadcrumb strong{color:var(--ink);font-weight:600}.admin-search{width:240px;height:39px;padding:0 12px;border-radius:7px;background:var(--surface);border-color:var(--line);gap:8px}.admin-search input{font-size:12.5px}.admin-search kbd{font-size:10px;height:21px;min-width:24px;background:var(--surface-2)}.admin-announce-btn{height:39px;padding:0 15px;border-radius:7px;font-size:13px;gap:6px;background:var(--green-deep)}.admin-announce-btn:hover{background:#223d31}.admin-icon-btn{width:39px;height:39px;border-radius:7px;border-color:var(--line);background:var(--surface);color:var(--ink-2)}.admin-icon-btn:hover,.admin-icon-btn.is-active{background:var(--surface-2);border-color:var(--line-strong);color:var(--green-deep)}.admin-icon-btn--sm{width:33px;height:33px}.admin-notif-count{font-size:9px;min-width:17px;height:17px}.admin-user-chip{gap:9px;padding:3px 4px 3px 5px;border-radius:7px}.admin-user-chip strong{font-size:12.5px;color:var(--ink)}.admin-user-chip small{font-size:10.5px;color:var(--muted)}.admin-user-chip>svg{color:var(--muted-2);width:15px;height:15px}.admin-content{padding:30px 32px 0;max-width:1600px}.admin-page-head{margin-bottom:25px;gap:24px}.admin-eyebrow{font-size:11.5px;color:var(--muted);gap:7px;letter-spacing:.04em}.admin-page-head h1{font-size:32px;font-weight:600;margin:6px 0 5px;letter-spacing:-.01em}.admin-page-head p{font-size:14px;color:var(--muted);line-height:1.65}.admin-page-actions{gap:10px}.admin-btn{height:40px;padding:0 15px;border-radius:7px;font-size:13px;gap:6px}.admin-btn--ghost{background:var(--surface);border-color:var(--line);color:var(--ink-2)}.admin-placeholder-badge{height:34px;padding:0 11px;border-radius:6px;font-size:11.5px;gap:6px}.admin-kpi-grid{gap:16px;margin-bottom:18px}.admin-kpi{padding:20px 21px 18px;border-radius:11px;border-color:var(--line);box-shadow:none;background:var(--surface)}.admin-kpi__icon{width:36px;height:36px;border-radius:7px}.admin-kpi__change{font-size:11px;padding:3px 6px;border-radius:4px}.admin-kpi__label{font-size:12.5px;margin-top:13px;color:var(--muted)}.admin-kpi__value{font-size:34px;margin-top:2px}.admin-kpi__foot{margin-top:7px}.admin-kpi__foot>span{font-size:11.5px;color:var(--muted)}.admin-kpi__foot .mini-bars{width:66px}.admin-chart-grid{gap:16px;margin-bottom:18px;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr)}.admin-card{padding:22px 23px;border-radius:11px;border-color:var(--line);box-shadow:none;background:var(--surface)}.admin-card__head h2{font-size:17px;font-weight:600}.admin-card__head p{font-size:12px;margin-top:3px;color:var(--muted)}.admin-segment{border-radius:5px}.admin-segment button{font-size:11.5px;padding:6px 9px}.admin-chart-summary{margin:18px 0 4px}.admin-chart-summary span{font-size:12px}.admin-chart-summary strong{font-size:29px}.admin-chart-summary small{font-size:11px}.admin-chart-summary__note{font-size:11px!important}.admin-live{font-size:11px;padding:3px 8px}.admin-health-list{gap:11px;margin-top:17px}.admin-health-row{gap:9px}.admin-health-row__icon{width:29px;height:29px;border-radius:6px}.admin-health-row>div>span{font-size:11.5px}.admin-health-row strong{font-size:11.5px}.admin-health-bar{height:4px;margin-top:4px}.admin-card-link{font-size:12px;margin-top:15px;padding-top:12px;gap:4px}.admin-card-link--inline{font-size:11.5px}.admin-count-badge{font-size:11px;min-width:24px;height:22px}.admin-todo-list{margin-top:8px}.admin-todo-row{padding:9px 0;gap:8px}.admin-todo-icon{width:29px;height:29px;border-radius:6px}.admin-todo-row>span:nth-child(2){font-size:12.5px}.admin-todo-row b{font-size:10.5px;min-width:19px;height:19px}.admin-bottom-grid{gap:16px;margin-bottom:20px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr)}.admin-activity-list{margin-top:12px}.admin-activity-row{padding:10px 0;gap:9px}.admin-activity-time{font-size:11.5px;width:34px}.admin-activity-row>div strong{font-size:12.5px}.admin-activity-row>div span{font-size:11px}.admin-activity-row .badge{font-size:10.5px;min-height:21px}.admin-module-list{gap:10px;margin-top:16px}.admin-module-row{grid-template-columns:82px 1fr 38px;gap:10px}.admin-module-row>span{font-size:12px}.admin-module-row>strong{font-size:12px}.admin-module-note{font-size:11.5px;padding:10px;margin-top:15px}.admin-footer{font-size:11px;padding:16px 2px 22px;gap:18px}.admin-pop{border-radius:10px}.admin-notif-pop{width:360px}.admin-pop__head{padding:14px 15px}.admin-pop__head strong{font-size:14px}.admin-pop__head span{font-size:11px}.admin-notif-row{padding:11px 14px;gap:9px}.admin-notif-row strong{font-size:12.5px}.admin-notif-row span{font-size:10.5px;margin-top:2px}.admin-pop__foot{font-size:12px;padding:11px}.admin-user-pop{width:235px}.admin-user-pop__head{padding:11px}.admin-user-pop__head strong{font-size:13px}.admin-user-pop__head span{font-size:10.5px}.admin-user-pop>button{font-size:12.5px;padding:10px;gap:8px}.admin-placeholder-banner{padding:16px 18px;border-radius:10px;gap:15px;margin-bottom:16px;background:var(--surface);border-color:var(--line)}.admin-placeholder-banner__icon{width:46px;height:46px;border-radius:8px}.admin-placeholder-banner__copy strong{font-size:14px}.admin-placeholder-banner__copy p{font-size:12px;line-height:1.6;margin-top:3px}.admin-placeholder-banner__progress{width:220px;grid-template-columns:auto 110px auto;gap:9px}.admin-placeholder-banner__progress>span,.admin-placeholder-banner__progress>strong{font-size:11px}.admin-stat-grid{gap:13px;margin-bottom:16px}.admin-small-stat{padding:16px 17px;border-radius:9px;border-color:var(--line)}.admin-small-stat>span{font-size:12px}.admin-small-stat>strong{font-size:27px;margin:3px 0}.admin-small-stat>small{font-size:11px}.admin-manage-grid{gap:16px;grid-template-columns:minmax(0,1fr) 310px}.admin-table-actions{gap:7px}.admin-table-search{width:180px;height:33px;border-radius:5px}.admin-table-search input{font-size:11.5px}.admin-table-wrap{margin-top:15px}.admin-table th{font-size:11.5px;padding:11px 12px}.admin-table td{font-size:12.5px;padding:12px}.admin-cell-primary{font-size:12.5px}.admin-status{font-size:11.5px}.admin-table-foot{font-size:11.5px;padding:12px 0}.admin-pagination button{width:26px;height:26px;font-size:11px}.admin-checklist{gap:9px;margin-top:14px}.admin-checklist>div{font-size:12px;line-height:1.6;gap:7px}.admin-next-list{gap:10px;margin-top:14px}.admin-next-list span{font-size:12px}.admin-next-list p{font-size:12px;line-height:1.6}.admin-permission-note{padding:17px}.admin-permission-note strong{font-size:12.5px;margin-bottom:3px}.admin-permission-note p{font-size:11.5px;line-height:1.65}.admin-manage-grid .admin-side-stack{gap:13px}.admin-announce-form{gap:16px}.admin-announce-form .field__label{font-size:13px}.admin-announce-form .input,.admin-announce-form .textarea{font-size:14px}.admin-announce-note{font-size:12px;padding:10px}.admin-footer{border-color:var(--line)}.admin-mobile-drawer{background:var(--surface);width:286px}.admin-mobile-head{border-color:var(--line)}.admin-mobile-head>button{color:var(--muted)}.admin-mobile-layer{background:#24201966}@media(max-width:1360px){:root{--sidebar-w: 258px;--app-gap: 30px}.admin-sidebar-side,.admin-sidebar{width:244px}.admin-main{margin-left:244px}.admin-search{width:210px}.admin-chart-grid{grid-template-columns:minmax(0,1.5fr) minmax(285px,.76fr)}.dashboard-top{grid-template-columns:minmax(0,1.42fr) minmax(330px,.9fr)}.dashboard-middle{grid-template-columns:minmax(0,1.42fr) minmax(310px,.9fr)}.family-layout{grid-template-columns:minmax(0,1fr) 336px}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.page-head__copy h1{font-size:38px}.home-letter{padding:31px 32px 27px}.home-letter h2{font-size:32px;padding-right:80px}.home-letter__body{font-size:14.5px}.home-letter__facts strong{font-size:21px}.home-letter__seal{width:48px;height:48px;font-size:21px;right:28px;top:70px}.family-overview{grid-template-columns:1fr 1fr 1fr}.family-overview__motto{grid-column:1 / -1;align-items:flex-start;padding:12px 16px 8px;border-top:1px solid var(--line)}.family-overview__item:nth-child(3){border-right:0}.family-overview__item:nth-child(4){border-top:1px solid var(--line)}.family-overview__item:nth-child(3){border-top:1px solid var(--line)}.family-layout{grid-template-columns:1fr}.family-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.reminders-layout{grid-template-columns:1fr}.reminders-side{display:grid;grid-template-columns:1fr 1fr}.contact-stats,.ledger-stats{grid-template-columns:1fr 1fr}.ledger-charts{grid-template-columns:1fr}.ledger-donut-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:26px}.ledger-donut-card .card-head{grid-column:1 / -1}.ledger-donut-list{margin-top:0}.admin-kpi-grid{grid-template-columns:1fr 1fr}.admin-chart-grid{grid-template-columns:1fr}.admin-side-stack{display:grid;grid-template-columns:1fr 1fr}.admin-bottom-grid,.admin-manage-grid{grid-template-columns:1fr}.admin-manage-grid .admin-side-stack{display:grid;grid-template-columns:1fr 1fr}.admin-stat-grid{grid-template-columns:1fr 1fr}}@media(max-width:1100px){.sidebar{display:none}.app-main{margin-left:0;padding:0 24px}.topbar__menu{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;color:var(--ink-2);border:1px solid var(--line);background:var(--surface)}.topbar__date{display:none}.search-trigger{width:210px}.mobile-nav{display:flex;position:fixed;bottom:12px;left:12px;right:12px;z-index:70;height:68px;align-items:center;justify-content:space-around;background:#fdfaf3f7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px -24px #2b261d61;padding:6px 8px}.mobile-nav__item{color:var(--muted);font-size:11px;gap:3px;min-width:56px;padding:6px 0;border-radius:8px}.mobile-nav__item.is-active{color:var(--green-deep);background:var(--surface-2)}.mobile-nav__item.is-active svg{color:var(--terracotta)}.mobile-nav__item svg{width:21px;height:21px}.site-footer{padding-bottom:104px}.dashboard-top,.dashboard-middle{grid-template-columns:1fr}.month-card{min-height:0}.expense-card{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:center}.expense-card .card-head{grid-column:1 / -1}.expense-card .donut-legend{margin-top:0}.dashboard-lower,.dashboard-bottom{grid-template-columns:1fr}.culture-card{grid-column:auto;min-height:260px}.culture-card .culture-story{max-width:none}.admin-sidebar{display:none}.admin-main{margin-left:0}.admin-menu-btn{display:flex;width:36px;height:36px}.admin-topbar{padding:0 20px}.admin-content{padding:22px 20px 0}}@media(max-width:900px){.home-letter{padding:28px 26px 24px}.home-letter h2{font-size:29px;padding-right:60px}.home-letter__facts{gap:0}.home-letter__facts>div{padding-right:15px;margin-right:15px}.home-letter__facts span{font-size:11.5px}.home-letter__facts strong{font-size:20px}.home-letter__footer{flex-wrap:wrap}.home-letter__seal{width:42px;height:42px;font-size:18px;right:24px;top:64px}.family-side,.reminders-side,.contact-grid,.placeholder-hero{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.ready-card{align-items:flex-start}.admin-kpi-grid{grid-template-columns:1fr 1fr;gap:11px}.admin-side-stack,.admin-manage-grid .admin-side-stack{grid-template-columns:1fr}.admin-placeholder-banner{flex-wrap:wrap}.admin-placeholder-banner__copy{flex-basis:calc(100% - 62px)}.admin-placeholder-banner__progress{width:100%;grid-template-columns:auto 1fr auto}.admin-search{display:none}}@media(max-width:780px){:root{--app-gap: 16px}.app-main{padding:0 16px}.topbar{height:70px;gap:10px}.topbar__crumb{font-size:13px}.topbar__right{gap:8px}.search-trigger{display:none}.quick-trigger{width:40px;padding:0;justify-content:center}.quick-trigger span{display:none}.user-chip__copy,.user-chip>svg{display:none}.user-chip{padding:0}.notif-trigger{width:40px;height:40px}.page-head{flex-direction:column;align-items:flex-start;gap:16px;margin:6px 0 22px}.page-head__copy h1{font-size:32px;line-height:1.4}.page-head__copy p{font-size:14px}.page-head__actions{width:100%;justify-content:flex-start;gap:9px}.page-head__actions .btn{flex:1}.card{padding:20px;border-radius:14px}.card-head h2{font-size:21px}.home-letter{min-height:0;padding:25px 22px 22px;border-radius:14px;box-shadow:4px 4px #a1543b0d}.home-letter:before{top:8px;right:8px;bottom:8px;left:8px;border-radius:9px}.home-letter h2{font-size:27px;margin:24px 0 10px;padding-right:48px;line-height:1.5}.home-letter__label{font-size:12px;gap:7px}.home-letter__date{font-size:11px}.home-letter__body{font-size:14px;line-height:1.8}.home-letter__facts{margin-top:20px;padding:14px 0;flex-wrap:wrap;gap:12px}.home-letter__facts>div{border-right:0;margin:0;padding:0;min-width:30%;flex:1}.home-letter__facts strong{font-size:19px}.home-letter__facts span{font-size:11px}.home-letter__footer{padding-top:16px;gap:14px}.home-letter__family>span{font-size:11.5px}.home-letter__actions{width:100%;justify-content:space-between}.letter-link{font-size:12.5px}.home-letter__seal{width:38px;height:38px;font-size:16px;top:56px;right:20px}.month-card{padding:21px}.expense-card{display:block}.expense-card .donut-legend{margin-top:6px}.dashboard-middle,.dashboard-lower,.dashboard-bottom{gap:16px;margin-top:16px}.cashflow-card,.expense-card,.family-snapshot,.agenda-card,.allocation-card,.life-alerts-card{padding:20px}.family-portrait-row{grid-template-columns:repeat(4,1fr)}.family-portrait strong{font-size:12.5px}.family-portrait span{font-size:10.5px}.birthday-strip{flex-wrap:wrap;gap:12px}.birthday-strip__title{width:100%}.birthday-item{flex:1;min-width:120px}.culture-card{padding:21px}.culture-quote p{font-size:19px}.family-overview{grid-template-columns:1fr 1fr}.family-overview__item{border-bottom:1px solid var(--line);padding:11px 13px}.family-overview__item:nth-child(2n){border-right:0}.family-overview__item:nth-child(3){border-top:0}.family-overview__item:nth-child(4){border-top:0}.family-overview__motto{border-bottom:0}.tree-card{padding:20px}.tree-card__head{flex-direction:column;gap:9px}.tree-card__legend{justify-content:flex-start}.family-tree{margin:14px -5px 0;padding:15px 8px}.tree-level{flex-direction:column;align-items:stretch;gap:9px}.tree-level__label{width:auto;flex-direction:row;align-items:center;gap:7px;border-bottom:1px dashed var(--line);padding-bottom:7px}.tree-level__label>div{flex-direction:row;align-items:center;gap:7px}.tree-level__units{width:100%;gap:8px}.tree-node{width:calc(50vw - 54px);max-width:210px;min-width:145px;min-height:104px;padding:11px 12px}.tree-node__name-line strong{font-size:13px}.tree-node__identity>span{font-size:11px}.tree-node__meta{font-size:10px}.tree-couple-link{width:16px}.tree-add-node{width:74px;height:80px}.tree-connector{padding-left:20px;height:22px}.archive-card,.permission-card,.reminder-list-card{padding:20px}.reminder-summary-card{gap:13px;padding:16px 18px}.reminder-summary__item{flex:1 1 38%}.reminder-row{gap:9px;padding:15px 2px}.reminder-icon{display:none}.reminder-date{width:42px;height:48px}.reminder-title-line>strong{font-size:13px}.contact-stats{gap:11px}.contact-stat-card{padding:15px}.contact-stat-card>div:nth-child(2) strong{font-size:25px}.contact-stat-card>div:nth-child(2) span{font-size:11.5px}.contact-stat-card>p{font-size:10.5px}.contacts-toolbar-card{padding:14px}.contacts-search,.contacts-tags{width:100%}.contact-grid-head{font-size:11.5px}.contact-grid-head__hint{display:none}.contact-card{padding:18px}.contact-profile__buttons .btn{flex:1}.ledger-stats{gap:11px}.ledger-stat{padding:15px}.ledger-stat>strong{font-size:24px}.ledger-stat__top{font-size:11.5px}.ledger-stat>p{font-size:10.5px}.ledger-budget-value strong{font-size:24px}.transaction-card{padding:19px}.transaction-head__right{width:100%}.transaction-table-head{display:none}.transaction-row{grid-template-columns:56px minmax(0,1fr) 100px 28px;gap:8px;padding:13px 3px;min-height:0}.tx-member,.tx-payment{display:none}.tx-actions{opacity:1}.tx-title-line>strong{font-size:12px}.tx-amount strong{font-size:12px}.tx-sub{font-size:10px}.transaction-foot{flex-direction:column;align-items:flex-start;gap:8px}.ledger-donut-card{display:block}.ledger-donut-list{margin-top:6px}.placeholder-intro{padding:24px;min-height:300px}.placeholder-intro__copy h2{font-size:30px}.placeholder-intro__copy p{font-size:13.5px}.placeholder-intro__foot span{font-size:10.5px}.placeholder-roadmap{padding:22px}.placeholder-preview-card{padding:20px}.feature-grid{grid-template-columns:1fr}.ready-card{padding:23px}.ready-card__copy h2{font-size:23px}.ready-links{width:100%;grid-template-columns:1fr 1fr}.ready-link{width:auto}.admin-topbar{height:64px;padding:0 16px}.admin-content{padding:18px 16px 0}.admin-page-head h1{font-size:27px}.admin-page-head p{font-size:13px}.admin-kpi{padding:15px}.admin-kpi__value{font-size:28px}.admin-kpi__label{font-size:11.5px}.admin-kpi__foot>span{font-size:10.5px}.admin-chart-grid{margin-bottom:14px}.admin-card{padding:18px}.admin-card__head h2{font-size:16px}.admin-placeholder-banner__copy strong{font-size:13px}.admin-placeholder-banner__copy p{font-size:11.5px}.admin-small-stat>span{font-size:11.5px}.admin-small-stat>strong{font-size:24px}.admin-small-stat>small{font-size:10.5px}.admin-page-actions{width:100%}.admin-btn{flex:1}.admin-announce-btn{flex:none}.admin-table-actions .admin-table-search{width:150px}.admin-notif-pop{width:min(calc(100vw - 24px),360px);right:-35px}.admin-footer{font-size:10.5px;flex-wrap:wrap;gap:8px}}@media(max-width:520px){.topbar{height:64px}.topbar__crumb .topbar__house,.topbar__crumb svg{display:none}.page-head__copy h1{font-size:29px}.home-letter{padding:22px 19px 20px}.home-letter h2{font-size:25px;margin-top:20px;padding-right:36px}.home-letter__seal{width:32px;height:32px;font-size:14px;top:50px;right:17px}.home-letter__facts>div{min-width:27%}.home-letter__facts strong{font-size:17px}.home-letter__facts span{font-size:10px}.home-letter__family>span{display:none}.month-card__flow strong{font-size:21px}.month-card__balance>div>strong{font-size:21px}.family-portrait-row{gap:2px}.family-portrait span{font-size:9px}.birthday-item{min-width:100px}.family-overview{grid-template-columns:1fr 1fr}.family-overview__item strong{font-size:21px}.family-overview__item span{font-size:10px}.family-overview__motto strong{font-size:15px}.tree-node{width:calc(50vw - 50px);min-width:138px;padding:10px}.tree-node__meta{font-size:9.5px}.tree-add-node{width:66px}.reminder-summary-card{padding:14px}.reminder-summary__item strong{font-size:19px}.reminder-date{width:38px;height:44px}.reminder-title-line>strong{font-size:12px}.reminder-copy>p{font-size:11.5px}.reminder-relative{margin-left:0;width:100%;font-size:10px}.contact-stats{grid-template-columns:1fr 1fr;gap:9px}.contact-stat-card{padding:13px}.contact-stat-card__icon{width:33px;height:33px;margin-bottom:9px}.contact-stat-card>div:nth-child(2) strong{font-size:21px}.contact-stat-card>div:nth-child(2) span{font-size:10.5px}.contact-stat-card>p{font-size:9.5px}.tag-filter{font-size:11.5px;padding:6px 9px}.contact-name-line h3{font-size:17px}.contact-note{font-size:12px}.ledger-stats{gap:9px}.ledger-stat{padding:13px}.ledger-stat>strong{font-size:21px}.ledger-stat__top{font-size:10.5px}.ledger-stat>p{font-size:9.5px}.ledger-budget-value strong{font-size:21px}.ledger-toolbar-actions{gap:7px}.ledger-search{flex:1;min-width:160px}.transaction-row{grid-template-columns:50px minmax(0,1fr) 88px 24px;gap:6px}.tx-category-icon{width:32px;height:32px}.tx-title-line>strong{font-size:11.5px}.tx-cat-chip{display:none}.quick-categories button{font-size:11px;padding:6px 8px}.amount-input-wrap input{font-size:34px}.placeholder-status{font-size:10px;padding:5px 8px}.placeholder-intro__copy h2{font-size:27px}.placeholder-intro__foot{gap:10px}.feature-tile{padding:20px}.feature-tile h3{font-size:13.5px}.feature-tile p{font-size:12px}.ready-links{grid-template-columns:1fr}.admin-user-chip>span:not(.admin-avatar),.admin-user-chip>svg{display:none}.admin-page-head h1{font-size:25px}.admin-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.admin-kpi{padding:13px}.admin-kpi__value{font-size:25px}.admin-kpi__label{font-size:10.5px}.admin-kpi__foot>span{font-size:9.5px}.admin-kpi__foot .mini-bars{width:42px}.admin-chart-grid{grid-template-columns:1fr}.admin-chart-summary{flex-wrap:wrap;gap:6px}.admin-card{padding:15px}.admin-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.admin-small-stat{padding:12px}.admin-small-stat>strong{font-size:21px}.admin-placeholder-banner{padding:14px}.admin-placeholder-banner__progress{grid-template-columns:auto 1fr auto}.admin-table-actions .admin-table-search{width:120px}.admin-table th{font-size:10.5px;padding:9px 10px}.admin-table td{font-size:11.5px;padding:10px}.admin-table-search input{font-size:10.5px}.admin-footer{font-size:10px}}.sidebar__brand{padding:21px 23px 14px}.brand__seal{width:42px;height:42px;font-size:22px}.brand__name{font-size:24px}.sidebar__family{margin:0 16px 11px;padding:13px 14px}.sidebar__family-name{font-size:15.5px;margin-top:6px}.sidebar__family-meta{font-size:11px;margin-top:3px}.sidebar__avatars{margin-top:9px}.sidebar__nav{padding:0 13px 4px}.nav-group{margin-bottom:5px}.nav-group__title{padding:6px 11px 2px;font-size:10px}.nav-item{min-height:33px;padding:5px 11px;font-size:13.5px;gap:10px}.nav-item svg{width:17px;height:17px}.sidebar__foot{padding:8px 22px 14px}.sidebar__version{font-size:10px}.sidebar__admin-link{font-size:11.5px;margin-top:5px}@media(max-height:1080px){.sidebar__motto{display:none}}@media(max-height:980px){.sidebar__family-meta,.sidebar__avatars{display:none}}.family-snapshot,.allocation-card{min-height:100%}.home-letter__body{max-width:660px}.month-card{background:#fffaf1}.month-card__balance{background:#f4ede1}.admin-sidebar__insight{display:none}.admin-nav__item{min-height:38px;font-size:14px}.admin-nav__group{margin-bottom:11px}.admin-nav__title{padding:8px 10px 4px;font-size:10.5px}.admin-nav{padding-bottom:6px}.admin-sidebar__bottom{margin-top:auto}.admin-chart{margin-top:10px}.admin-card__head p,.admin-kpi__label{font-size:13px}.admin-health-row>div>span{font-size:12.5px}.admin-health-row strong{font-size:12.5px}.admin-todo-row>span:nth-child(2){font-size:13px}.admin-activity-row>div strong{font-size:13px}.admin-activity-row>div span{font-size:11.5px}.admin-module-row>span,.admin-module-row>strong{font-size:12.5px}.admin-table td{font-size:13px}.admin-table th,.admin-status{font-size:12px}.admin-small-stat>span{font-size:12.5px}.admin-small-stat>small{font-size:11.5px}.admin-placeholder-banner__copy p{font-size:12.5px}.admin-checklist>div{font-size:12.5px}.admin-next-list p{font-size:12.5px}.admin-permission-note p{font-size:12px}.recharts-text{font-family:var(--font-sans)}@media(max-height:1120px){.sidebar__motto{display:none}}@media(max-height:1040px){.sidebar__family{padding:11px 14px;margin-bottom:8px}.sidebar__family-name{margin-top:3px;font-size:15px}.sidebar__family-meta,.sidebar__avatars,.sidebar__version{display:none}.nav-group{margin-bottom:3px}.nav-group__title{padding:4px 11px 1px}.nav-item{min-height:31px;padding:4px 11px}.sidebar__foot{padding:7px 22px 11px}.sidebar__admin-link{margin-top:3px}}.dashboard-lower,.dashboard-bottom{align-items:start}.family-snapshot,.allocation-card{min-height:0}.admin-chart-foot{display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);margin-top:4px;padding-top:15px}.admin-chart-foot>div{display:flex;flex-direction:column;gap:1px}.admin-chart-foot span{color:var(--muted);font-size:11.5px}.admin-chart-foot strong{color:var(--ink);font-size:14px;font-weight:600;font-family:var(--font-num)}.admin-chart-foot button{margin-left:auto;display:flex;align-items:center;gap:4px;color:var(--green-deep);font-size:12px;font-weight:600;padding:6px 8px;border-radius:5px}.admin-chart-foot button:hover{background:var(--surface-2);color:var(--terracotta)}@media(max-width:780px){.admin-chart-foot{flex-wrap:wrap;gap:12px 18px}.admin-chart-foot button{margin-left:0}}body{font-size:16px}.nav-item{font-size:14.5px}.nav-group__title{font-size:10.5px}.sidebar__family-name{font-size:16.5px}.sidebar__family-meta{font-size:11.5px}.eyebrow{font-size:12.5px}.card-head p{font-size:13.5px}.page-head__copy p{font-size:15.5px}.muted,.btn{font-size:14.5px}.btn--sm{font-size:13.5px}.badge{font-size:12.5px}.tab{font-size:14px}.segmented button{font-size:13.5px}.input{font-size:15px}.field__label{font-size:14px}.field__hint{font-size:12.5px}.text-link,.link-btn{font-size:13.5px}.chart-legend{font-size:12.5px}.cashflow-insight p{font-size:13px}.donut-legend__row{font-size:12.5px}.donut-legend__value{font-size:13px}.donut-legend__pct{font-size:12px}.family-portrait strong{font-size:13.5px}.family-portrait span{font-size:12px}.birthday-strip__title{font-size:12.5px}.birthday-item>div:last-child strong{font-size:13px}.birthday-item>div:last-child span{font-size:11.5px}.agenda-title strong{font-size:14.5px}.agenda-person{font-size:11px}.agenda-meta{font-size:12px}.life-alert__copy strong{font-size:13.5px}.life-alert__copy span{font-size:11.5px}.allocation-row,.allocation-name,.allocation-val,.allocation-row strong{font-size:13px}.allocation-foot,.allocation-foot button{font-size:12.5px}.month-card__budget-head{font-size:13px}.month-card__budget-head strong{font-size:13.5px}.month-card__budget-foot{font-size:11.5px}.flow-label{font-size:13px}.month-card__balance>div>span{font-size:13px}.mini-insight{font-size:12.5px}.family-overview__item span{font-size:12px}.family-overview__motto>span{font-size:11px}.tree-node__meta{font-size:11px}.tree-node__identity>span{font-size:12px}.permission-person strong{font-size:13px}.permission-person span{font-size:11px}.permission-intro{font-size:13px}.archive-meta>div{font-size:13px}.birthday-book__row strong{font-size:13px}.birthday-book__row span{font-size:11px}.birthday-book__days{font-size:11.5px}.reminder-copy>p{font-size:13px}.reminder-members>span{font-size:11px}.contact-stat-card>div:nth-child(2) span{font-size:13px}.contact-stat-card>p{font-size:12px}.contact-last{font-size:11.5px}.contact-note{font-size:13px}.contact-latest-affair{font-size:12px}.contact-detail-btn{font-size:12.5px}.contact-affair-count{font-size:11px}.tag-filter,.contact-profile__hero p{font-size:13px}.contact-profile__details span{font-size:11.5px}.contact-profile__details strong{font-size:13px}.affair-copy p{font-size:12px}.affair-copy>span{font-size:11px}.ledger-stat__top{font-size:13px}.ledger-stat>p{font-size:12px}.ledger-budget-value span{font-size:12px}.transaction-table-head{font-size:12.5px}.tx-title-line>strong{font-size:13.5px}.tx-sub{font-size:11.5px}.tx-cat-chip{font-size:10.5px}.tx-member,.tx-payment span{font-size:12.5px}.tx-amount strong{font-size:14.5px}.tx-amount span{font-size:10.5px}.transaction-foot,.transaction-foot button,.quick-categories button,.placeholder-status{font-size:12px}.placeholder-intro__copy p{font-size:14.5px}.placeholder-intro__foot span{font-size:12px}.roadmap-item strong{font-size:13px}.roadmap-item>div>span{font-size:11px}.roadmap-note p{font-size:12px}.placeholder-preview-head p{font-size:13px}.placeholder-section-head__note{font-size:12.5px}.feature-tile h3{font-size:14.5px}.feature-tile p{font-size:13px}.feature-tile__status{font-size:11px}.ready-card__copy p{font-size:14px}.ready-link strong{font-size:13px}.placeholder-back{font-size:12.5px}.placeholder-back>button,.placeholder-back>div button{font-size:12.5px}.admin-nav__item{font-size:14px}.admin-breadcrumb,.admin-search input,.admin-card__head p{font-size:13px}.admin-kpi__foot>span{font-size:12px}.admin-table td{font-size:13.5px}.admin-table th,.admin-status{font-size:12.5px}.admin-small-stat>span{font-size:13px}.admin-small-stat>small{font-size:12px}.admin-placeholder-banner__copy p{font-size:13px}.admin-footer{font-size:11.5px}@media(max-width:780px){.admin-announce-btn{display:none}.mobile-nav__item,.month-card__budget-foot,.contact-affair-count{font-size:11.5px}}@media(max-width:520px){.admin-kpi__label{font-size:11.5px}.admin-kpi__foot>span{font-size:10.5px}.admin-table td{font-size:12px}.admin-table th{font-size:11px}.admin-activity-row>div span{font-size:11px}.admin-footer{font-size:10.5px}.mobile-nav__item{font-size:12px}.site-footer{font-size:11px}}.module-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:8px}.module-card-head h2{font-family:var(--font-serif);font-size:24px;font-weight:600;line-height:1.4;margin-top:3px}.add-line-btn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 11px;border-radius:7px;background:var(--green-soft);color:var(--green-deep);font-size:12.5px;font-weight:600;white-space:nowrap}.add-line-btn:hover{background:#dce9e1}.add-line-btn svg{flex-shrink:0}.plan-summary{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.9fr);gap:22px 34px;padding:29px 32px 24px;background:#efe6d8;border:1px solid #d8cbb9;border-radius:var(--radius);box-shadow:5px 5px #a1543b0d;margin-bottom:20px;overflow:hidden}.plan-summary:after{content:"计";position:absolute;right:22px;bottom:-22px;font-family:var(--font-serif);font-size:118px;line-height:1;color:#a1543b0e;pointer-events:none}.plan-summary__copy{position:relative;z-index:1}.plan-summary__copy h2{font-family:var(--font-serif);font-size:clamp(26px,2.5vw,32px);font-weight:600;line-height:1.5;color:var(--ink);margin:8px 0}.plan-summary__copy h2 em{font-style:normal;color:var(--terracotta);white-space:nowrap}.plan-summary__copy p{color:#6b6458;font-size:14px;line-height:1.8;max-width:650px}.plan-summary__facts{display:flex;align-items:center;gap:0;position:relative;z-index:1;align-self:center}.plan-summary__facts>div{flex:1;padding:3px 20px;border-left:1px solid rgba(121,100,75,.18)}.plan-summary__facts>div:first-child{border-left:0;padding-left:0}.plan-summary__facts span{display:block;color:#847865;font-size:12px;margin-bottom:4px}.plan-summary__facts strong{display:block;font-family:var(--font-num);font-size:23px;font-weight:600;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}.plan-summary__facts strong.is-positive{color:var(--green)}.plan-summary__facts strong.is-negative{color:var(--terracotta)}.plan-summary__bar{grid-column:1 / -1;display:flex;align-items:center;gap:14px;position:relative;z-index:1}.plan-summary__bar .progress{flex:1}.plan-summary__bar>span{color:#7c715f;font-size:11.5px;white-space:nowrap}.plan-summary--debt{background:#eee7db}.plan-tabs{margin-bottom:18px}.budget-layout,.debt-layout{display:grid;grid-template-columns:minmax(0,1fr) 322px;gap:20px;align-items:start}.budget-list-card,.debt-list-card{padding:26px 27px 17px}.budget-rows{margin-top:10px}.budget-row{display:grid;grid-template-columns:42px minmax(130px,.85fr) 130px minmax(190px,1.35fr) 34px;gap:15px;align-items:center;padding:17px 3px;border-bottom:1px solid var(--line)}.budget-row:last-child{border-bottom:0}.budget-row__icon{width:40px;height:40px;border-radius:9px;display:grid;place-items:center}.budget-row__name{min-width:0}.budget-row__name>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.budget-row__name strong{font-size:15px;font-weight:600}.budget-row__name>span{display:block;color:var(--muted);font-size:11.5px;margin-top:3px}.budget-row__amounts{display:flex;flex-direction:column;align-items:flex-end}.budget-row__amounts strong{font-family:var(--font-num);font-size:17px;font-weight:600;letter-spacing:-.01em}.budget-row__amounts span{color:var(--muted);font-size:11px;margin-top:2px}.budget-row__progress{min-width:0}.budget-row__progress>div:last-child{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10.5px;margin-top:5px}.budget-row__edit{width:32px;height:32px;border-radius:6px;display:grid;place-items:center;color:var(--muted)}.budget-row__edit:hover{background:var(--surface-2);color:var(--green)}.budget-side,.debt-side,.inventory-side{display:flex;flex-direction:column;gap:16px}.budget-note-card{padding:24px}.budget-note__amount{margin:13px 0 15px;display:flex;flex-direction:column}.budget-note__amount>span{color:var(--muted);font-size:12.5px}.budget-note__amount strong{font-family:var(--font-num);font-size:34px;font-weight:600;letter-spacing:-.03em;margin:3px 0 2px}.budget-note__amount small{color:var(--muted);font-size:11.5px}.budget-note__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}.budget-note__stats>div{display:flex;flex-direction:column}.budget-note__stats span{color:var(--muted);font-size:10.5px}.budget-note__stats strong{font-family:var(--font-num);font-size:14px;margin-top:2px;font-weight:600}.budget-advice-card{padding:21px 22px;background:#f1e9dc;border-color:#e0d2bf}.budget-advice__icon{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:#fbf6ec;color:var(--gold);margin-bottom:10px}.budget-advice-card h3{font-family:var(--font-serif);font-size:17px;font-weight:600;line-height:1.5}.budget-advice-card p{color:#70685a;font-size:12.5px;line-height:1.75;margin-top:5px}.budget-advice__foot{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:10px;border-top:1px solid rgba(124,101,73,.17);color:#988267;font-size:10.5px}.budget-link-card{display:flex;align-items:center;gap:10px;padding:17px 18px}.budget-link-card>svg{color:var(--gold)}.budget-link-card>div{display:flex;flex-direction:column;flex:1}.budget-link-card strong{font-size:12.5px}.budget-link-card span{color:var(--muted);font-size:10.5px;margin-top:2px}.debt-list{display:flex;flex-direction:column;gap:13px;margin-top:10px}.debt-card{padding:17px 18px 13px;border:1px solid var(--line);border-radius:11px;background:#fdfaf3}.debt-card__head{display:flex;align-items:flex-start;gap:10px}.debt-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--green-soft);color:var(--green);flex-shrink:0}.debt-title{flex:1;min-width:0}.debt-title>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.debt-title strong{font-size:15px;font-weight:600}.debt-title>span{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}.debt-edit{color:var(--muted);width:30px;height:30px;border-radius:6px;display:grid;place-items:center}.debt-edit:hover{background:var(--surface-2);color:var(--green)}.debt-card__body{display:flex;align-items:flex-end;gap:24px;margin-top:13px}.debt-balance{flex-shrink:0}.debt-balance span{display:block;color:var(--muted);font-size:11.5px}.debt-balance strong{font-family:var(--font-num);font-size:22px;font-weight:600;letter-spacing:-.02em}.debt-progress{flex:1;padding-bottom:3px;min-width:100px}.debt-progress>div{display:flex;justify-content:space-between;color:var(--muted);font-size:10.5px;margin-bottom:6px}.debt-card__foot{display:flex;align-items:center;gap:12px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.debt-due{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11px}.debt-due.is-near{color:var(--terracotta)}.debt-rate{color:var(--muted-2);font-size:10.5px}.debt-card__foot .btn{margin-left:auto}.debt-payment-log{display:flex;justify-content:space-between;gap:10px;padding-top:6px;color:var(--muted-2);font-size:10px}.debt-summary-card{padding:24px}.debt-summary__total{margin:13px 0 12px;display:flex;flex-direction:column}.debt-summary__total span{color:var(--muted);font-size:12px}.debt-summary__total strong{font-family:var(--font-num);font-size:31px;font-weight:600;letter-spacing:-.03em}.debt-split-bar{display:flex;gap:2px;height:9px;border-radius:7px;overflow:hidden;background:var(--surface-3)}.debt-split-bar span{height:100%}.debt-summary__rows{display:flex;flex-direction:column;margin-top:14px}.debt-summary__rows>div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(222,214,199,.7);font-size:12px}.debt-summary__rows>div:last-child{border-bottom:0}.debt-summary__rows span{color:var(--muted)}.debt-summary__rows strong{font-weight:600}.debt-summary__note{color:var(--muted-2);font-size:10.5px;line-height:1.6;margin-top:9px}.debt-due-card{padding:23px}.debt-due-list{display:flex;flex-direction:column;margin-top:10px}.debt-due-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(222,214,199,.7)}.debt-due-row:last-child{border-bottom:0}.debt-due-date{width:39px;height:43px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.debt-due-date strong{font-family:var(--font-num);font-size:16px;line-height:1}.debt-due-date span{color:var(--muted);font-size:8.5px;margin-top:2px}.debt-due-row>div:nth-child(2){flex:1;display:flex;flex-direction:column}.debt-due-row>div:nth-child(2) strong{font-size:12px;font-weight:600}.debt-due-row>div:nth-child(2) span{color:var(--muted);font-size:10.5px}.debt-advice{margin-top:0}.plan-form{display:flex;flex-direction:column;gap:17px}.money-input{display:flex;align-items:center;gap:6px;padding:0 14px;height:58px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-2)}.money-input>span{font-family:var(--font-num);font-size:22px;color:var(--muted)}.money-input input{flex:1;min-width:0;border:0;background:transparent;outline:0;font-family:var(--font-num);font-size:30px;font-weight:600;color:var(--ink)}.repay-balance{padding:15px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line)}.repay-balance span{display:block;color:var(--muted);font-size:11.5px}.repay-balance strong{display:block;font-family:var(--font-num);font-size:27px;font-weight:600;margin:2px 0}.repay-balance small{color:var(--muted-2);font-size:10.5px}.asset-overview{position:relative;display:flex;align-items:center;gap:30px;padding:27px 30px;border:1px solid #d8cbb9;border-radius:var(--radius);background:#eee6d9;box-shadow:5px 5px #a1543b0b;margin-bottom:20px;overflow:hidden}.asset-overview__copy{flex:1}.asset-overview__copy h2{font-family:var(--font-serif);font-size:clamp(25px,2.3vw,31px);font-weight:600;margin:6px 0 7px}.asset-overview__copy p{color:#70695c;font-size:13.5px;line-height:1.8;max-width:620px}.asset-overview__figure{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;padding-left:26px;border-left:1px solid rgba(121,100,75,.18)}.asset-overview__figure span{color:#817662;font-size:12px}.asset-overview__figure strong{font-family:var(--font-num);font-size:34px;font-weight:600;letter-spacing:-.03em;margin:2px 0}.asset-overview__figure small{font-size:11.5px}.asset-overview__seal{width:49px;height:49px;border:1px solid rgba(161,84,59,.25);border-radius:7px;color:#a1543b94;display:grid;place-items:center;transform:rotate(2deg);flex-shrink:0}.asset-toolbar{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:14px 16px;margin-bottom:18px}.asset-search{display:flex;align-items:center;gap:7px;width:255px;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--muted)}.asset-search input{flex:1;border:0;background:transparent;outline:0;font-size:12.5px;height:100%}.asset-search button{display:grid;place-items:center;color:var(--muted)}.asset-categories{display:flex;align-items:center;gap:5px;flex:1;flex-wrap:wrap}.asset-categories button{display:flex;align-items:center;gap:5px;padding:7px 10px;border-radius:6px;color:var(--muted);font-size:12px}.asset-categories button span{color:var(--muted-2);font-size:10px}.asset-categories button:hover{background:var(--surface-2);color:var(--ink)}.asset-categories button.is-active{background:var(--green-deep);color:#f7efe1}.asset-categories button.is-active span{color:#f7efe18c}.asset-sort{border:1px solid var(--line);border-radius:6px;padding:7px 26px 7px 9px;background-color:var(--surface-2);color:var(--muted);font-size:11.5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 24 24' fill='none' stroke='%238a857a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center}.asset-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;padding:0 2px 12px}.asset-list-head>span:last-child{display:flex;align-items:center;gap:5px;color:var(--gold);font-size:11.5px}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.asset-card{padding:0;overflow:hidden;border-radius:var(--radius)}.asset-card__visual{position:relative;height:168px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:inherit;overflow:hidden;border-bottom:1px solid var(--line)}.asset-card__visual img{width:100%;height:100%;object-fit:cover}.asset-card__visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(135deg,rgba(255,255,255,.11),transparent 55%);pointer-events:none}.asset-visual__word{font-family:var(--font-serif);font-size:13px;letter-spacing:.15em;opacity:.66}.asset-card__category{position:absolute;left:13px;bottom:13px;z-index:2;padding:3px 8px;border-radius:4px;font-size:10.5px;font-weight:500}.asset-heirloom{position:absolute;right:13px;bottom:13px;z-index:2;display:flex;align-items:center;gap:3px;padding:3px 7px;border-radius:4px;background:#fdfaf3eb;color:var(--terracotta);font-size:10px}.asset-card__body{padding:17px 18px 11px}.asset-card__title{display:flex;align-items:center;justify-content:space-between;gap:9px}.asset-card__title h3{font-family:var(--font-serif);font-size:18px;font-weight:600;line-height:1.45}.asset-card__body>p{color:var(--muted);font-size:11.5px;margin-top:2px}.asset-card__value{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.asset-card__value>div{display:flex;flex-direction:column}.asset-card__value span{color:var(--muted);font-size:10.5px}.asset-card__value strong{font-family:var(--font-num);font-size:21px;font-weight:600;letter-spacing:-.02em}.asset-gain{font-family:var(--font-num);font-size:12px;font-weight:500}.asset-gain.is-up{color:var(--green)}.asset-gain.is-down{color:var(--terracotta)}.asset-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;color:var(--muted);font-size:10.5px}.asset-card__meta>span{display:flex;align-items:center;gap:4px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:9px;border-top:1px solid var(--line)}.asset-card__foot button{display:flex;align-items:center;gap:3px;color:var(--green);font-size:11.5px;font-weight:600}.asset-card__foot button:last-child{color:var(--muted);width:28px;height:28px;justify-content:center;border-radius:5px}.asset-card__foot button:last-child:hover{background:var(--surface-2);color:var(--green)}.asset-add-tile{min-height:365px;border:1px dashed #cfc5b4;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);background:#fdfaf373;transition:.2s}.asset-add-tile strong{color:var(--ink-2);font-size:14px;font-weight:600;margin-top:4px}.asset-add-tile span{font-size:11.5px}.asset-add-tile:hover{background:var(--surface);border-color:#b9ab96;color:var(--green)}.asset-add-tile svg{color:var(--gold)}.asset-detail__visual{height:200px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;margin-bottom:18px;border:1px solid var(--line)}.asset-detail__visual img{width:100%;height:100%;object-fit:cover}.asset-detail__visual span{font-family:var(--font-serif);font-size:14px;letter-spacing:.12em;opacity:.7}.asset-detail__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.asset-detail__heading h3{font-family:var(--font-serif);font-size:26px;font-weight:600}.asset-detail__heading p{color:var(--muted);font-size:12px;margin-top:2px}.asset-detail__value{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:17px;padding:15px 0 13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.asset-detail__value>div{display:flex;flex-direction:column}.asset-detail__value span{color:var(--muted);font-size:11.5px}.asset-detail__value strong{font-family:var(--font-num);font-size:30px;font-weight:600;letter-spacing:-.03em}.asset-detail__value>span{font-size:12px;font-weight:500}.asset-detail__progress{margin-top:13px}.asset-detail__progress>span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.asset-detail__grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:18px 0}.asset-detail__grid>div{display:flex;flex-direction:column;gap:3px}.asset-detail__grid span{color:var(--muted);font-size:11px}.asset-detail__grid strong{font-size:12.5px;font-weight:500;color:var(--ink-2)}.inline-member{display:inline-flex;align-items:center;gap:5px}.asset-detail__note{padding:15px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line)}.asset-detail__note h4{font-size:11.5px;color:var(--muted);font-weight:500;margin-bottom:5px}.asset-detail__note p{font-size:12.5px;line-height:1.75;color:var(--ink-2)}.asset-detail__tip{display:flex;gap:6px;color:var(--muted-2);font-size:10.5px;line-height:1.6;margin-top:14px}.asset-detail__tip svg{flex-shrink:0}.asset-form{display:flex;flex-direction:column;gap:17px}.asset-photo-editor{display:flex;gap:14px;padding-bottom:17px;border-bottom:1px solid var(--line)}.asset-photo-editor__preview{width:100px;height:82px;border-radius:8px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex-shrink:0;overflow:hidden}.asset-photo-editor__preview img{width:100%;height:100%;object-fit:cover}.asset-photo-editor__preview span{font-size:10.5px}.asset-photo-editor>div:last-child{flex:1}.asset-photo-editor strong{font-size:12.5px}.asset-photo-editor p{color:var(--muted);font-size:10.5px;line-height:1.6;margin:3px 0 8px}.asset-photo-editor__actions{display:flex;align-items:center;gap:9px}.asset-upload-btn{display:flex;align-items:center;gap:4px;height:30px;padding:0 10px;border-radius:6px;background:var(--surface-2);color:var(--ink-2);font-size:11px;font-weight:600;border:1px solid var(--line)}.asset-upload-btn:hover{background:var(--green-soft);color:var(--green)}.asset-remove-photo{color:var(--terracotta);font-size:10.5px}.checkbox-line{display:flex;align-items:flex-start;gap:8px;color:var(--ink-2);font-size:12px;line-height:1.5;cursor:pointer}.checkbox-line input{width:16px;height:16px;accent-color:var(--green);margin-top:1px;flex-shrink:0}.pantry-summary{position:relative;display:flex;align-items:center;gap:30px;padding:27px 30px;border-radius:var(--radius);border:1px solid #d8cbb9;background:#efe7da;box-shadow:5px 5px #a1543b0b;margin-bottom:20px;overflow:hidden}.pantry-summary__copy{flex:1}.pantry-summary__copy h2{font-family:var(--font-serif);font-size:clamp(25px,2.3vw,31px);font-weight:600;margin:6px 0 7px}.pantry-summary__copy p{color:#70695c;font-size:13.5px;line-height:1.8;max-width:640px}.pantry-summary__numbers{display:flex;align-items:center;flex-shrink:0}.pantry-summary__numbers>div{display:flex;flex-direction:column;padding:2px 19px;border-left:1px solid rgba(121,100,75,.18)}.pantry-summary__numbers>div:first-child{border-left:0}.pantry-summary__numbers span{color:#817662;font-size:11.5px}.pantry-summary__numbers strong{font-family:var(--font-num);font-size:27px;font-weight:600;line-height:1.25}.pantry-summary__numbers strong small{font-family:var(--font-sans);font-size:10px;font-weight:400;color:var(--muted);margin-left:2px}.pantry-summary__mark{width:50px;height:50px;border-radius:8px;display:grid;place-items:center;border:1px solid rgba(161,84,59,.2);color:#a1543b85;flex-shrink:0;transform:rotate(2deg)}.inventory-toolbar-wrap{margin-bottom:17px}.inventory-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:13px 15px;border-radius:11px;border:1px solid var(--line);background:var(--surface)}.inventory-search{display:flex;align-items:center;gap:7px;width:255px;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--muted)}.inventory-search input{flex:1;height:100%;border:0;outline:0;background:transparent;font-size:12.5px}.inventory-search button{display:grid;place-items:center;color:var(--muted)}.inventory-categories{display:flex;gap:4px;flex:1;flex-wrap:wrap}.inventory-categories button{padding:7px 10px;border-radius:6px;color:var(--muted);font-size:12px}.inventory-categories button:hover{background:var(--surface-2);color:var(--ink)}.inventory-categories button.is-active{background:var(--green-deep);color:#f7efe1}.inventory-status-filter{flex-shrink:0}.inventory-layout{display:grid;grid-template-columns:minmax(0,1fr) 326px;gap:20px;align-items:start}.inventory-list-card{padding:26px 27px 13px}.inventory-list-count{color:var(--muted);font-size:11.5px;padding-top:8px}.inventory-group{margin-top:16px}.inventory-group:first-of-type{margin-top:10px}.inventory-group__head{display:flex;align-items:center;gap:7px;padding-bottom:7px;border-bottom:1px solid var(--line)}.inventory-group__icon{width:24px;height:24px;border-radius:5px;display:grid;place-items:center;background:var(--surface-2);color:var(--green)}.inventory-group__icon--blue{background:var(--blue-soft);color:var(--blue)}.inventory-group__icon--rose{background:var(--rose-soft);color:var(--rose)}.inventory-group__icon--gold{background:var(--gold-soft);color:var(--gold)}.inventory-group__icon--plum{background:var(--plum-soft);color:var(--plum)}.inventory-group__head strong{font-size:13px;font-weight:600}.inventory-group__head>span:last-child{margin-left:auto;color:var(--muted-2);font-size:10.5px}.inventory-rows{display:flex;flex-direction:column}.inventory-row{display:grid;grid-template-columns:minmax(0,1fr) 82px 148px 66px 30px;gap:11px;align-items:center;padding:13px 3px;border-bottom:1px solid rgba(222,214,199,.66)}.inventory-row:last-child{border-bottom:0}.inventory-row__main{min-width:0}.inventory-name-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.inventory-name-line strong{font-size:13.5px;font-weight:600}.inventory-name-line .badge{font-size:10.5px;min-height:20px}.inventory-row__meta{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10.5px;margin-top:3px;flex-wrap:wrap}.inventory-row__meta>span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis}.inventory-dot{color:var(--muted-2)}.inventory-stock{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px;justify-content:end}.inventory-stock strong{font-family:var(--font-num);font-size:23px;font-weight:600;letter-spacing:-.02em}.inventory-stock>span{color:var(--muted);font-size:10.5px}.inventory-stock small{grid-column:1 / -1;color:var(--muted-2);font-size:9.5px;text-align:right}.inventory-expiry{display:flex;flex-direction:column;gap:1px;color:var(--muted);font-size:10.5px}.inventory-expiry svg{display:none}.inventory-expiry.is-near{color:var(--terracotta)}.inventory-expiry strong{font-size:10.5px;font-weight:500}.inventory-expiry span{color:var(--muted-2);font-size:9.5px}.inventory-expiry.is-near span{color:#b58b78}.inventory-adjust{display:flex;gap:3px;justify-content:flex-end}.inventory-adjust button{width:28px;height:28px;border-radius:5px;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);background:var(--surface)}.inventory-adjust button:hover:not(:disabled){color:var(--green);background:var(--green-soft);border-color:#cbded3}.inventory-adjust button:disabled{opacity:.35;cursor:default}.inventory-edit{width:28px;height:28px;border-radius:5px;display:grid;place-items:center;color:var(--muted)}.inventory-edit:hover{background:var(--surface-2);color:var(--green)}.inventory-list-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 2px 2px;border-top:1px solid var(--line);color:var(--muted-2);font-size:10.5px}.inventory-list-foot button{display:flex;align-items:center;gap:4px;color:var(--green);font-size:11.5px;font-weight:600}.inventory-alert-card{padding:23px}.inventory-alert-list{display:flex;flex-direction:column;margin-top:12px}.inventory-alert-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid rgba(222,214,199,.66)}.inventory-alert-row:last-child{border-bottom:0}.inventory-alert-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0}.inventory-alert-row>div{flex:1;display:flex;flex-direction:column}.inventory-alert-row strong{font-size:12px;font-weight:600}.inventory-alert-row span{color:var(--muted);font-size:10.5px;margin-top:1px}.inventory-alert-row>button{width:25px;height:25px;border-radius:5px;border:1px solid var(--line);color:var(--green);display:grid;place-items:center}.inventory-alert-row>button:hover{background:var(--green-soft)}.inventory-clear{display:flex;align-items:center;gap:8px;color:var(--green);font-size:12px;padding:17px 0}.inventory-generate-btn{display:flex;align-items:center;gap:6px;width:100%;margin-top:12px;padding:11px 12px;border-radius:7px;background:var(--green-deep);color:#f7efe1;font-size:12px;font-weight:600}.inventory-generate-btn:hover{background:#223d31}.inventory-generate-btn svg:last-child{margin-left:auto}.inventory-shopping-card{padding:23px}.inventory-shopping-list{display:flex;flex-direction:column;margin-top:10px}.inventory-shopping-row{display:flex;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid rgba(222,214,199,.66);font-size:12px;cursor:pointer}.inventory-shopping-row:last-child{border-bottom:0}.inventory-shopping-row input{width:16px;height:16px;accent-color:var(--green)}.inventory-shopping-row span{flex:1}.inventory-shopping-row small{color:var(--muted);font-size:10.5px}.inventory-location-card{padding:23px}.inventory-locations{display:flex;flex-direction:column;margin-top:10px}.inventory-locations>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(222,214,199,.66);font-size:11.5px}.inventory-locations>div:last-child{border-bottom:0}.inventory-locations span{display:flex;align-items:center;gap:4px;color:var(--muted)}.inventory-locations strong{font-family:var(--font-num);font-size:12px;font-weight:600}.inventory-form{display:flex;flex-direction:column;gap:17px}.shopping-summary{display:flex;align-items:center;gap:32px;padding:27px 30px;border:1px solid #d8cbb9;border-radius:var(--radius);background:#efe7da;box-shadow:5px 5px #a1543b0b;margin-bottom:20px;overflow:hidden}.shopping-summary__copy{flex:1}.shopping-summary__copy h2{font-family:var(--font-serif);font-size:clamp(25px,2.3vw,31px);font-weight:600;margin:6px 0 7px}.shopping-summary__copy p{color:#70695c;font-size:13.5px;line-height:1.8;max-width:600px}.shopping-summary__progress{width:185px;flex-shrink:0}.shopping-summary__progress>div{display:flex;justify-content:space-between;color:#817662;font-size:11.5px;margin-bottom:7px}.shopping-summary__progress strong{color:var(--ink);font-family:var(--font-num);font-weight:500}.shopping-summary__basket{color:#a1543b80;flex-shrink:0}.shopping-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:18px;flex-wrap:wrap}.shopping-search{display:flex;align-items:center;gap:7px;width:285px;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--muted)}.shopping-search input{flex:1;height:100%;border:0;outline:0;background:transparent;font-size:12.5px}.shopping-search button{display:grid;place-items:center;color:var(--muted)}.shopping-tools{display:flex;align-items:center;gap:15px}.shopping-clear{color:var(--muted);font-size:12px}.shopping-clear:hover:not(:disabled){color:var(--terracotta)}.shopping-clear:disabled{opacity:.4;cursor:default}.shopping-groups{display:grid;grid-template-columns:1fr 1fr;gap:17px;align-items:start}.shopping-group{padding:22px 24px 16px}.shopping-group__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:7px;border-bottom:1px solid var(--line)}.shopping-group__head h2{font-family:var(--font-serif);font-size:19px;font-weight:600}.shopping-group__head span{color:var(--muted);font-size:10.5px}.shopping-list{display:flex;flex-direction:column}.shopping-row{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid rgba(222,214,199,.65)}.shopping-row:last-child{border-bottom:0}.shopping-row.is-done{opacity:.5}.shopping-check{width:21px;height:21px;border-radius:5px;border:1px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;color:#fff;flex-shrink:0}.shopping-check.is-checked{background:var(--green);border-color:var(--green)}.shopping-row__main{flex:1;min-width:0;display:flex;flex-direction:column}.shopping-row__main strong{font-size:13px;font-weight:600}.shopping-row__main span{color:var(--muted);font-size:10.5px}.shopping-qty{color:var(--muted);font-size:11px;white-space:nowrap}.shopping-delete{color:var(--muted-2);width:26px;height:26px;display:grid;place-items:center;border-radius:5px}.shopping-delete:hover{background:var(--terracotta-soft);color:var(--terracotta)}.shopping-note{display:flex;align-items:center;gap:7px;padding:16px 3px;color:var(--muted);font-size:11.5px}.shopping-note svg{color:var(--gold)}.shopping-note button{margin-left:auto;display:flex;align-items:center;gap:3px;color:var(--green);font-size:11.5px;font-weight:600}.shopping-form{display:flex;flex-direction:column;gap:15px}.shopping-form__row{display:grid;grid-template-columns:1fr 1fr;gap:13px}@media(max-width:1360px){.budget-layout,.debt-layout,.inventory-layout{grid-template-columns:minmax(0,1fr) 302px}.asset-grid{grid-template-columns:repeat(3,1fr);gap:14px}.budget-row{grid-template-columns:40px minmax(120px,.8fr) 118px minmax(160px,1.2fr) 30px;gap:12px}}@media(max-width:1180px){.plan-summary{grid-template-columns:1fr;gap:18px}.plan-summary__facts{border-top:1px solid rgba(121,100,75,.18);padding-top:15px}.plan-summary__facts>div:first-child{padding-left:16px;border-left:1px solid rgba(121,100,75,.18)}.plan-summary__bar{margin-top:2px}.budget-layout,.debt-layout,.inventory-layout{grid-template-columns:1fr}.budget-side,.debt-side,.inventory-side{display:grid;grid-template-columns:repeat(3,1fr);align-items:start}.asset-overview,.pantry-summary,.shopping-summary{flex-wrap:wrap;gap:18px 28px}.asset-overview__copy,.pantry-summary__copy,.shopping-summary__copy{flex-basis:65%}.asset-overview__figure{margin-left:auto}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-side .inventory-location-card{display:block}}@media(max-width:900px){.budget-side,.debt-side,.inventory-side{grid-template-columns:1fr}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-overview__seal,.pantry-summary__mark,.shopping-summary__basket{display:none}.asset-overview__copy,.pantry-summary__copy,.shopping-summary__copy{flex-basis:100%}.asset-overview__figure{align-items:flex-start;padding-left:0;border-left:0;width:100%}.pantry-summary__numbers{width:100%;padding-top:14px;border-top:1px solid rgba(121,100,75,.18)}.pantry-summary__numbers>div:first-child{padding-left:0}.shopping-groups{grid-template-columns:1fr}.asset-card__visual{height:190px}}@media(max-width:780px){.plan-summary{padding:22px 20px 19px;box-shadow:4px 4px #a1543b0b}.plan-summary__copy h2{font-size:25px}.plan-summary__copy p{font-size:13px}.plan-summary__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.plan-summary__facts>div{padding:0 10px}.plan-summary__facts>div:first-child{padding-left:10px;border-left:1px solid rgba(121,100,75,.18)}.plan-summary__facts strong{font-size:19px}.plan-summary__bar{flex-direction:column;align-items:flex-start;gap:7px}.plan-summary__bar .progress{width:100%}.plan-summary:after{font-size:90px}.budget-list-card,.debt-list-card,.inventory-list-card{padding:20px 18px 12px}.module-card-head{flex-wrap:wrap}.module-card-head h2{font-size:21px}.budget-row{grid-template-columns:38px 1fr 30px;grid-template-areas:"icon name edit" "amounts amounts amounts" "progress progress progress";gap:7px 10px;padding:14px 2px}.budget-row__icon{grid-area:icon}.budget-row__name{grid-area:name}.budget-row__amounts{grid-area:amounts;display:flex;flex-direction:row;align-items:baseline;gap:6px;justify-content:flex-start;padding-left:48px}.budget-row__amounts strong{font-size:16px}.budget-row__amounts span{font-size:10.5px}.budget-row__progress{grid-area:progress;padding-left:48px}.budget-row__edit{grid-area:edit}.budget-note-card,.budget-advice-card,.debt-summary-card,.debt-due-card{padding:20px}.debt-card{padding:15px 14px 12px}.debt-card__body{flex-direction:column;align-items:stretch;gap:10px}.debt-balance strong{font-size:21px}.debt-card__foot{flex-wrap:wrap;gap:8px}.asset-overview,.pantry-summary,.shopping-summary{padding:21px 20px;box-shadow:4px 4px #a1543b0b}.asset-overview__copy h2,.pantry-summary__copy h2,.shopping-summary__copy h2{font-size:25px}.asset-overview__figure strong{font-size:28px}.asset-toolbar{padding:12px;align-items:flex-start}.asset-search,.asset-categories{width:100%}.asset-sort{margin-left:0}.asset-grid{grid-template-columns:1fr}.asset-card__visual{height:210px}.asset-add-tile{min-height:180px}.asset-detail__visual{height:180px}.asset-photo-editor{flex-direction:column}.asset-photo-editor__preview{width:100%;height:140px}.pantry-summary__numbers>div{padding:0 12px}.pantry-summary__numbers strong{font-size:23px}.shopping-summary__progress{width:100%}.inventory-toolbar{align-items:flex-start;padding:12px}.inventory-search,.inventory-categories,.inventory-status-filter{width:100%}.inventory-status-filter button{flex:1}.inventory-row{grid-template-columns:minmax(0,1fr) 64px 30px;grid-template-areas:"main stock edit" "expiry adjust adjust";gap:7px 10px;padding:14px 2px}.inventory-row__main{grid-area:main}.inventory-stock{grid-area:stock}.inventory-expiry{grid-area:expiry;flex-direction:row;align-items:center;gap:5px}.inventory-expiry svg{display:block}.inventory-expiry span{margin-left:3px}.inventory-adjust{grid-area:adjust;justify-content:flex-start}.inventory-edit{grid-area:edit;align-self:start}.inventory-row__meta>span{max-width:120px}.inventory-list-foot{flex-wrap:wrap;gap:8px}.shopping-toolbar{align-items:flex-start}.shopping-search{width:100%}.shopping-tools{width:100%;justify-content:space-between}.shopping-group{padding:18px 18px 12px}.shopping-note{flex-wrap:wrap}.shopping-note button{margin-left:22px}}@media(max-width:520px){.plan-summary__facts{grid-template-columns:1fr 1fr}.plan-summary__facts>div:nth-child(3){grid-column:1 / -1;border-left:0;padding-left:10px;padding-top:7px}.plan-summary__facts strong{font-size:18px}.budget-row__amounts,.budget-row__progress{padding-left:0}.debt-title strong{font-size:14px}.debt-card__foot .btn{width:100%;margin-left:0}.asset-overview__figure strong{font-size:25px}.pantry-summary__numbers{flex-wrap:wrap;gap:8px 0}.pantry-summary__numbers>div{flex:1 1 33%}.pantry-summary__numbers strong{font-size:21px}.inventory-name-line strong{font-size:13px}.inventory-stock strong{font-size:20px}.inventory-shopping-row{font-size:11.5px}.shopping-summary{gap:15px}.shopping-row{gap:7px}.shopping-row .badge{display:none}.shopping-row__main strong{font-size:12.5px}.shopping-qty{font-size:10.5px}.shopping-note button{margin-left:0}}@media(max-width:520px){.plan-summary__facts{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-summary__facts>div{padding:0 7px;border-left:1px solid rgba(121,100,75,.18)}.plan-summary__facts>div:first-child{padding-left:7px;border-left:0}.plan-summary__facts>div:nth-child(3){grid-column:auto;border-left:1px solid rgba(121,100,75,.18);padding-top:0}.plan-summary__facts span{font-size:10.5px}.plan-summary__facts strong{font-size:16px}.asset-card__visual{height:155px}.asset-add-tile{min-height:145px}.asset-card__body{padding:14px 15px 9px}.asset-card__title h3{font-size:17px}.asset-card__value strong{font-size:19px}.asset-detail__grid{grid-template-columns:1fr;gap:11px}}.goals-summary,.wealth-summary,.legacy-intro{position:relative;border:1px solid #d8cbb9;border-radius:var(--radius);background:#efe6d8;box-shadow:5px 5px #a1543b0d;overflow:hidden}.goals-summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.75fr);gap:20px 34px;padding:29px 32px 24px;margin-bottom:18px}.goals-summary__copy{position:relative;z-index:1}.goals-summary__copy h2,.wealth-summary__copy h2{font-family:var(--font-serif);font-size:clamp(26px,2.5vw,32px);font-weight:600;line-height:1.5;margin:8px 0;color:var(--ink)}.goals-summary__copy h2 em{font-style:normal;color:var(--terracotta)}.goals-summary__copy p,.wealth-summary__copy p{color:#6c6559;font-size:14px;line-height:1.8;max-width:660px}.goals-summary__numbers,.wealth-summary__figures{display:flex;align-items:center;align-self:center;position:relative;z-index:1}.goals-summary__numbers>div,.wealth-summary__figures>div{flex:1;padding:2px 19px;border-left:1px solid rgba(121,100,75,.18);display:flex;flex-direction:column}.goals-summary__numbers>div:first-child,.wealth-summary__figures>div:first-child{border-left:0;padding-left:0}.goals-summary__numbers span,.wealth-summary__figures span{color:#817662;font-size:11.5px;margin-bottom:3px}.goals-summary__numbers strong,.wealth-summary__figures strong{font-family:var(--font-num);font-size:22px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.goals-summary__progress{grid-column:1 / -1;position:relative;z-index:1}.goals-summary__progress>div{display:flex;justify-content:space-between;color:#7d7160;font-size:11.5px;margin-bottom:6px}.goals-summary__progress strong{color:var(--ink);font-family:var(--font-num);font-weight:500}.goals-summary__mark,.wealth-summary__mark{position:absolute;right:28px;bottom:25px;width:47px;height:47px;border:1px solid rgba(161,84,59,.22);border-radius:7px;display:grid;place-items:center;color:#a1543b80;transform:rotate(2deg)}.goals-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;flex-wrap:wrap}.goals-toolbar .segmented button span{margin-left:4px;color:var(--muted-2);font-size:10px}.goals-toolbar .segmented button.is-active span{color:var(--green)}.goals-toolbar__note{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11.5px}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.goal-card{padding:23px 24px 17px}.goal-card.is-done{background:#faf7ef}.goal-card__top{display:flex;align-items:flex-start;gap:11px}.goal-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.goal-card__title{flex:1;min-width:0}.goal-card__title>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.goal-card__title h3{font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.4}.goal-card__title p{color:var(--muted);font-size:12px;line-height:1.65;margin-top:3px}.goal-edit{color:var(--muted);width:30px;height:30px;border-radius:6px;display:grid;place-items:center;flex-shrink:0}.goal-edit:hover{background:var(--surface-2);color:var(--green)}.goal-card__amount{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:17px 0 11px}.goal-card__amount>div{display:flex;flex-direction:column}.goal-card__amount span{color:var(--muted);font-size:11px}.goal-card__amount strong{font-family:var(--font-num);font-size:28px;font-weight:600;letter-spacing:-.03em}.goal-card__target{font-family:var(--font-num);color:var(--muted)!important;font-size:11.5px!important;padding-bottom:5px}.goal-card__progress>div:last-child{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10.5px;margin-top:6px}.goal-card__progress>div:last-child span{display:flex;align-items:center;gap:3px}.goal-card__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:14px;padding:11px 0}.goal-card__meta>div{display:flex;flex-direction:column}.goal-card__meta span{color:var(--muted);font-size:10px}.goal-card__meta strong{font-size:11.5px;font-weight:500;color:var(--ink-2);margin-top:2px;white-space:nowrap}.goal-card__latest{display:flex;align-items:center;gap:4px;color:var(--green);font-size:10.5px;padding-top:9px}.goal-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.goal-more{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:11px}.goal-more:hover{color:var(--green)}.goal-done-note{display:flex;align-items:center;gap:5px;color:var(--green);font-size:11px}.goal-add-tile{min-height:330px;border:1px dashed #cfc5b4;border-radius:var(--radius);background:#fdfaf373;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--muted);transition:.2s}.goal-add-tile strong{color:var(--ink-2);font-family:var(--font-serif);font-size:17px;font-weight:600;margin-top:3px}.goal-add-tile span{font-size:11.5px}.goal-add-tile svg{color:var(--gold)}.goal-add-tile:hover{background:var(--surface);border-color:#b9ab96}.goal-form{display:flex;flex-direction:column;gap:17px}.goal-form__visual{display:flex;align-items:center;gap:13px;padding-bottom:17px;border-bottom:1px solid var(--line);flex-wrap:wrap}.goal-form__visual>div:nth-child(2){flex:1}.goal-form__visual strong{display:block;font-size:11.5px;color:var(--muted);font-weight:500;margin-bottom:5px}.goal-icon-picker{display:flex;gap:4px;flex-wrap:wrap}.goal-icon-picker button{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;color:var(--muted);border:1px solid transparent}.goal-icon-picker button:hover{background:var(--surface-2)}.goal-icon-picker button.is-active{background:var(--green-soft);color:var(--green);border-color:#cbdcd2}.goal-color-picker{display:flex;gap:6px}.goal-color-picker button{width:20px;height:20px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}.goal-color-picker button.is-active{box-shadow:0 0 0 2px var(--green)}.goal-deposit-note{display:flex;align-items:flex-start;gap:8px;padding:12px;background:var(--green-pale);border:1px solid #d9e6de;border-radius:8px;color:var(--green)}.goal-deposit-note svg{flex-shrink:0;margin-top:1px}.goal-deposit-note p{font-size:11.5px;line-height:1.65}.wealth-summary{display:flex;align-items:center;gap:28px;padding:28px 31px;margin-bottom:18px}.wealth-summary__copy{flex:1;min-width:0}.wealth-summary__figures{flex-shrink:0}.wealth-summary--insurance{background:#ece7dc}.wealth-tabs{margin-bottom:18px}.invest-layout,.insurance-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.holdings-card,.policies-card{padding:26px 27px 18px}.holdings-head{align-items:center}.holdings-search{display:flex;align-items:center;gap:6px;width:215px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--muted)}.holdings-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:12px}.holdings-search button{display:grid;place-items:center;color:var(--muted)}.holdings-types{display:flex;gap:4px;flex-wrap:wrap;margin:12px 0 15px}.holdings-types button{padding:6px 10px;border-radius:6px;color:var(--muted);font-size:12px}.holdings-types button:hover{background:var(--surface-2);color:var(--ink)}.holdings-types button.is-active{background:var(--green-deep);color:#f7efe1}.holdings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.holding-card{border:1px solid var(--line);border-radius:10px;padding:15px 16px 11px;background:var(--surface)}.holding-card__head{display:flex;align-items:flex-start;gap:9px}.holding-icon{width:35px;height:35px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.holding-card__head>div{flex:1;min-width:0}.holding-title{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.holding-title strong{font-size:13.5px;font-weight:600;line-height:1.4}.holding-card__head>div>span{display:block;color:var(--muted);font-size:10.5px;margin-top:2px}.holding-edit{width:28px;height:28px;border-radius:5px;display:grid;place-items:center;color:var(--muted)}.holding-edit:hover{background:var(--surface-2);color:var(--green)}.holding-card__value{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin-top:15px;align-items:baseline}.holding-card__value>span{color:var(--muted);font-size:10.5px;grid-column:1 / -1}.holding-card__value strong{font-family:var(--font-num);font-size:22px;font-weight:600;letter-spacing:-.025em}.holding-card__value small{font-family:var(--font-num);font-size:11px;white-space:nowrap}.holding-card__meta{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:11px;padding-top:8px;color:var(--muted);font-size:10px}.holding-card__foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px}.holding-owner{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10.5px}.holding-card__foot button{display:flex;align-items:center;gap:2px;color:var(--green);font-size:10.5px;font-weight:600}.invest-side,.insurance-side{display:flex;flex-direction:column;gap:16px}.invest-summary-card,.insurance-total-card,.renew-card{padding:23px}.invest-summary__value,.insurance-total__value{display:flex;flex-direction:column;margin:15px 0 12px}.invest-summary__value span,.insurance-total__value span{color:var(--muted);font-size:11.5px}.invest-summary__value strong,.insurance-total__value strong{font-family:var(--font-num);font-size:31px;font-weight:600;letter-spacing:-.03em;margin:2px 0}.invest-summary__value small{font-family:var(--font-num);font-size:11.5px}.invest-summary__rows,.insurance-total__rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}.invest-summary__rows>div,.insurance-total__rows>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(222,214,199,.65);font-size:11.5px}.invest-summary__rows span,.insurance-total__rows span{color:var(--muted)}.invest-summary__rows strong,.insurance-total__rows strong{font-weight:600}.invest-composition{margin-top:16px}.composition-bar{display:flex;gap:2px;height:10px;border-radius:6px;overflow:hidden;background:var(--surface-3);margin:9px 0 8px}.composition-bar span{height:100%}.composition-legend{display:flex;flex-wrap:wrap;gap:5px 11px}.composition-legend span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10px}.composition-legend i{width:6px;height:6px;border-radius:2px}.invest-note-card{padding:21px 22px;background:#f1e9dc;border-color:#e0d2bf}.invest-note-card h3{font-family:var(--font-serif);font-size:17px;font-weight:600}.invest-note-card p{color:#70685a;font-size:12px;line-height:1.75;margin-top:5px}.invest-policy-link{display:flex;align-items:center;gap:10px;padding:16px 17px}.invest-policy-link>svg{color:var(--gold);flex-shrink:0}.invest-policy-link>div{flex:1;display:flex;flex-direction:column}.invest-policy-link strong{font-size:12px}.invest-policy-link span{color:var(--muted);font-size:10.5px;margin-top:2px}.invest-policy-link button{display:flex;align-items:center;gap:3px;color:var(--green);font-size:11px;font-weight:600}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.policy-card{border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:16px 17px 12px}.policy-card__head{display:flex;align-items:flex-start;gap:9px}.policy-icon{width:35px;height:35px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.policy-card__head>div{flex:1;min-width:0}.policy-card__head>div>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.policy-card__head strong{font-size:13.5px;font-weight:600}.policy-card__head>div>span{display:block;color:var(--muted);font-size:10.5px;margin-top:2px}.policy-card__coverage{display:flex;align-items:baseline;gap:7px;margin-top:15px;padding-top:11px;border-top:1px solid var(--line)}.policy-card__coverage span{color:var(--muted);font-size:10.5px}.policy-card__coverage strong{font-family:var(--font-num);font-size:20px;font-weight:600;letter-spacing:-.02em}.policy-card__people{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.policy-card__people>div{display:flex;flex-direction:column}.policy-card__people>div>span:first-child{color:var(--muted-2);font-size:9.5px;margin-bottom:2px}.policy-card__dates{display:flex;justify-content:space-between;gap:7px;color:var(--muted);font-size:9.5px;margin-top:10px}.policy-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}.policy-due{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10.5px}.policy-due.is-near{color:var(--terracotta)}.insurance-types{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.insurance-types span{padding:4px 7px;background:var(--surface-2);border-radius:5px;color:var(--muted);font-size:10px}.insurance-types strong{color:var(--ink-2);font-weight:600;margin-left:2px}.renew-list{display:flex;flex-direction:column;margin-top:11px}.renew-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(222,214,199,.65)}.renew-row:last-child{border-bottom:0}.renew-row>div:nth-child(2){flex:1;display:flex;flex-direction:column}.renew-row>div:nth-child(2) strong{font-size:11.5px}.renew-row>div:nth-child(2) span{color:var(--muted);font-size:10px}.renew-row>button{color:var(--green);font-size:10.5px;font-weight:600}.wealth-form{display:flex;flex-direction:column;gap:17px}.legacy-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.85fr);gap:20px 38px;padding:33px 35px 28px;margin-bottom:13px}.legacy-intro__copy{position:relative;z-index:1}.legacy-intro__copy h2{font-family:var(--font-serif);font-size:clamp(27px,2.6vw,35px);font-weight:600;line-height:1.5;margin:8px 0 9px}.legacy-intro__copy p{color:#6c6559;font-size:13.5px;line-height:1.8;max-width:630px}.legacy-intro__networth{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;position:relative;z-index:1;padding-left:25px;border-left:1px solid rgba(121,100,75,.18)}.legacy-intro__networth>span{color:#817662;font-size:12px}.legacy-intro__networth>strong{font-family:var(--font-num);font-size:clamp(30px,3vw,38px);font-weight:600;letter-spacing:-.03em;margin:2px 0 10px}.legacy-intro__networth>div{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:#827561;font-size:10.5px}.legacy-seal{position:absolute;right:27px;bottom:24px;width:49px;height:49px;border:1px solid rgba(161,84,59,.26);border-radius:7px;display:grid;place-items:center;color:#a1543b80;font-family:var(--font-serif);font-size:22px;transform:rotate(3deg)}.legacy-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:11px;background:var(--surface);margin-bottom:21px;overflow:hidden}.legacy-facts>div{padding:12px 17px;border-left:1px solid var(--line);display:flex;flex-direction:column}.legacy-facts>div:first-child{border-left:0}.legacy-facts span{color:var(--muted);font-size:10.5px}.legacy-facts strong{font-family:var(--font-num);font-size:18px;font-weight:600;margin-top:2px}.legacy-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.legacy-main{min-width:0}.legacy-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 2px 13px}.legacy-section-head h2{font-family:var(--font-serif);font-size:23px;font-weight:600;margin-top:2px}.legacy-targets{display:flex;flex-direction:column;gap:15px}.legacy-target{padding:23px 24px 15px}.legacy-target__head{display:flex;align-items:flex-start;gap:10px}.legacy-target__icon{width:37px;height:37px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);color:var(--gold);flex-shrink:0;font-family:var(--font-serif);font-size:15px}.legacy-target__head>div:nth-child(2){flex:1;min-width:0}.legacy-target__head>div:nth-child(2)>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.legacy-target__head h3{font-family:var(--font-serif);font-size:19px;font-weight:600;line-height:1.4}.legacy-target__head>div:nth-child(2)>span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.legacy-target__share{text-align:right;display:flex;flex-direction:column}.legacy-target__share strong{font-family:var(--font-num);font-size:20px;font-weight:600;color:var(--gold)}.legacy-target__share span{color:var(--muted-2);font-size:9.5px}.legacy-target__share.is-full strong{color:var(--green)}.legacy-target__share.is-over strong{color:var(--terracotta)}.legacy-target__progress{margin-top:13px}.legacy-target__progress>div:last-child{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:5px}.legacy-allocations{display:flex;flex-direction:column;margin-top:8px;border-top:1px solid var(--line)}.legacy-allocation{display:flex;align-items:center;gap:9px;text-align:left;padding:10px 2px;border-bottom:1px solid rgba(222,214,199,.65)}.legacy-allocation:hover{background:var(--surface-2)}.legacy-allocation__person{flex:1;min-width:0}.legacy-allocation__person strong{font-size:12px;font-weight:600}.legacy-allocation__person strong span{color:var(--muted);font-size:10px;font-weight:400;margin-left:4px}.legacy-allocation__person p{color:var(--muted);font-size:10.5px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:410px}.legacy-allocation__share{display:flex;flex-direction:column;align-items:flex-end}.legacy-allocation__share strong{font-family:var(--font-num);font-size:14px;font-weight:600}.legacy-allocation__share span{color:var(--muted);font-size:10px}.legacy-allocation__arrow{color:var(--muted-2)}.legacy-target__add{display:flex;align-items:center;gap:4px;margin-top:8px;padding:7px 0;color:var(--green);font-size:10.5px}.legacy-add-tile{min-height:98px;border:1px dashed #cfc5b4;border-radius:12px;background:#fdfaf35c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted)}.legacy-add-tile strong{color:var(--ink-2);font-size:12.5px}.legacy-add-tile span{font-size:10.5px}.legacy-add-tile:hover{background:var(--surface);border-color:#b9ab96}.legacy-unplanned{display:flex;align-items:center;gap:12px;padding:17px 18px;margin-top:15px}.legacy-unplanned__icon{width:37px;height:37px;border-radius:8px;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center;flex-shrink:0}.legacy-unplanned>div:nth-child(2){flex:1}.legacy-unplanned strong{font-size:12.5px}.legacy-unplanned p{color:var(--muted);font-size:11px;margin-top:2px}.legacy-unplanned>button{display:flex;align-items:center;gap:4px;color:var(--green);font-size:11px;font-weight:600;white-space:nowrap}.legacy-side{display:flex;flex-direction:column;gap:16px}.beneficiary-card,.legacy-insurance-card{padding:23px}.beneficiary-list{display:flex;flex-direction:column;margin-top:10px}.beneficiary-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid rgba(222,214,199,.65)}.beneficiary-row:last-child{border-bottom:0}.beneficiary-row>div:nth-child(2){flex:1;min-width:0}.beneficiary-row>div:nth-child(2) strong{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.beneficiary-row>div:nth-child(2) strong span{color:var(--muted);font-size:9.5px;font-weight:400}.beneficiary-row>div:nth-child(2) p{color:var(--muted);font-size:9.5px;margin-top:1px}.beneficiary-value{display:flex;flex-direction:column;align-items:flex-end}.beneficiary-value strong{font-family:var(--font-num);font-size:12.5px;font-weight:600}.beneficiary-value span{color:var(--muted-2);font-size:9px}.beneficiary-unplanned{display:flex;justify-content:space-between;align-items:center;padding:10px 0 4px;color:var(--muted);font-size:11px}.beneficiary-unplanned strong{color:var(--ink-2);font-family:var(--font-num);font-size:13px}.beneficiary-foot{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.beneficiary-foot span{color:var(--muted);font-size:10.5px}.beneficiary-foot strong{font-family:var(--font-num);font-size:13px}.beneficiary-foot .progress{grid-column:1 / -1}.legacy-insurance-list{display:flex;flex-direction:column;margin-top:9px}.legacy-insurance-list>div{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid rgba(222,214,199,.65)}.legacy-insurance-list>div:last-child{border-bottom:0}.legacy-insurance-list span{flex:1;font-size:11.5px}.legacy-insurance-list strong{font-family:var(--font-num);font-size:12px;font-weight:600}.legacy-report-card{padding:23px;background:#f1e9dc;border-color:#e0d2bf}.legacy-report-card__icon{width:35px;height:35px;border-radius:8px;display:grid;place-items:center;background:#fbf5e9;color:var(--gold);margin-bottom:10px}.legacy-report-card h3{font-family:var(--font-serif);font-size:18px;font-weight:600;line-height:1.5;margin:4px 0}.legacy-report-card p{color:#70685a;font-size:11.5px;line-height:1.75}.legacy-report-card__actions{display:flex;align-items:center;gap:10px;margin-top:13px}.legacy-report-card__actions>button:last-child{color:var(--green);font-size:11px;font-weight:600}.legacy-disclaimer{display:flex;align-items:flex-start;gap:6px;color:var(--muted-2);font-size:10px;line-height:1.6;padding:0 3px}.legacy-disclaimer svg{flex-shrink:0;margin-top:1px}.legacy-form{display:flex;flex-direction:column;gap:16px}.plan-target-hint{padding:10px 12px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:11px}.plan-amount-preview{padding:10px 12px;border-radius:6px;background:var(--green-pale);border:1px solid #d9e6de;color:var(--green);font-size:11.5px}.plan-amount-preview strong{font-family:var(--font-num);font-size:14px}.form-warning{padding:9px 11px;border-radius:6px;background:var(--terracotta-soft);border:1px solid #e9cbbb;color:var(--terracotta);font-size:11px}.legacy-report{color:var(--ink);font-size:12px;line-height:1.65}.legacy-report__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:2px solid var(--ink)}.legacy-report__brand{display:flex;align-items:center;gap:9px}.legacy-report__brand>span{width:33px;height:33px;border:1px solid var(--terracotta);border-radius:5px;display:grid;place-items:center;color:var(--terracotta);font-family:var(--font-serif);font-size:17px}.legacy-report__brand>div{display:flex;flex-direction:column}.legacy-report__brand strong{font-family:var(--font-serif);font-size:16px;font-weight:600}.legacy-report__brand small{color:var(--muted);font-size:10px}.legacy-report__meta{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.legacy-report__meta strong{font-size:12px}.legacy-report__meta span{color:var(--muted);font-size:10px}.legacy-report__intro{margin:17px 0;padding:10px 12px;background:var(--surface-2);border-left:3px solid var(--gold);color:#6b6356;font-size:10.5px;line-height:1.7}.legacy-report__intro strong{color:var(--terracotta);font-weight:600}.report-section{margin-top:19px}.report-section h2{font-family:var(--font-serif);font-size:16px;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:5px;margin-bottom:9px}.report-networth{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}.report-networth>div{padding:9px 10px;border-left:1px solid var(--line);display:flex;flex-direction:column}.report-networth>div:first-child{border-left:0}.report-networth span{color:var(--muted);font-size:9.5px}.report-networth strong{font-family:var(--font-num);font-size:14px;font-weight:600;margin-top:2px}.report-networth__total{background:var(--green-pale)}.report-asset{margin-top:12px;page-break-inside:avoid}.report-asset__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}.report-asset__head strong{font-size:12px}.report-asset__head span{color:var(--muted);font-size:9.5px}.report-table{width:100%;border-collapse:collapse}.report-table th{text-align:left;padding:5px 7px;background:var(--surface-2);color:var(--muted);font-size:9.5px;font-weight:500;border-bottom:1px solid var(--line)}.report-table td{padding:6px 7px;border-bottom:1px solid rgba(222,214,199,.65);font-size:10.5px}.report-table th:last-child,.report-table td:last-child{text-align:right}.report-note{color:#655e52;font-size:11.5px;line-height:1.9}.report-signature{display:flex;justify-content:flex-end;gap:25px;margin-top:22px;color:var(--muted);font-size:10.5px}.legacy-report__foot{display:flex;justify-content:space-between;gap:20px;margin-top:25px;padding-top:9px;border-top:1px solid var(--line);color:var(--muted-2);font-size:8.5px}.report-empty{color:var(--muted);font-size:11px}@media(max-width:1360px){.invest-layout,.insurance-layout,.legacy-layout{grid-template-columns:minmax(0,1fr) 300px}.holdings-grid,.policy-grid{grid-template-columns:1fr}}@media(max-width:1180px){.goals-summary{grid-template-columns:1fr}.goals-summary__numbers{border-top:1px solid rgba(121,100,75,.18);padding-top:13px}.goals-summary__numbers>div:first-child{padding-left:17px;border-left:1px solid rgba(121,100,75,.18)}.invest-layout,.insurance-layout,.legacy-layout{grid-template-columns:1fr}.invest-side,.insurance-side,.legacy-side{display:grid;grid-template-columns:repeat(2,1fr);align-items:start}.holdings-grid,.policy-grid{grid-template-columns:1fr 1fr}.legacy-intro{grid-template-columns:1fr}.legacy-intro__networth{align-items:flex-start;padding-left:0;border-left:0;border-top:1px solid rgba(121,100,75,.18);padding-top:13px}.legacy-intro__networth>div{align-items:flex-start;flex-direction:row;gap:12px;flex-wrap:wrap}.legacy-seal{display:none}.legacy-facts{grid-template-columns:1fr 1fr}.legacy-facts>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.legacy-facts>div:nth-child(4){border-top:1px solid var(--line)}}@media(max-width:900px){.wealth-summary{flex-wrap:wrap;gap:18px}.wealth-summary__copy{flex-basis:100%}.wealth-summary__figures{width:100%;border-top:1px solid rgba(121,100,75,.18);padding-top:13px}.wealth-summary__figures>div:first-child{padding-left:0}.wealth-summary__mark{display:none}.invest-side,.insurance-side,.legacy-side{grid-template-columns:1fr}.goals-summary__mark{opacity:.3}.goal-grid{grid-template-columns:1fr}}@media(max-width:780px){.goals-summary,.legacy-intro{padding:22px 20px 19px;box-shadow:4px 4px #a1543b0b}.goals-summary__copy h2,.wealth-summary__copy h2{font-size:25px}.goals-summary__copy p,.wealth-summary__copy p{font-size:12.5px}.goals-summary__numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.goals-summary__numbers>div,.goals-summary__numbers>div:first-child{padding:0 8px;border-left:1px solid rgba(121,100,75,.18)}.goals-summary__numbers>div:first-child{border-left:0;padding-left:0}.goals-summary__numbers strong,.wealth-summary__figures strong{font-size:17px}.goals-summary__numbers span,.wealth-summary__figures span{font-size:10px}.goals-toolbar .segmented{width:100%}.goals-toolbar .segmented button{flex:1}.goals-toolbar__note{display:none}.goal-card{padding:18px 17px 14px}.goal-card__title h3{font-size:18px}.goal-card__amount strong{font-size:25px}.goal-card__meta{gap:5px}.goal-add-tile{min-height:160px}.wealth-summary{padding:22px 20px 19px}.holdings-card,.policies-card{padding:20px 18px 14px}.holdings-head{align-items:flex-start}.holdings-search{width:100%}.holdings-grid,.policy-grid{grid-template-columns:1fr}.invest-layout,.insurance-layout,.legacy-layout{gap:16px}.export-summary{padding:0}.legacy-intro{padding:22px 20px 19px}.legacy-intro__copy h2{font-size:26px}.legacy-intro__networth>strong{font-size:30px}.legacy-facts{margin-bottom:17px}.legacy-facts>div{padding:10px 12px}.legacy-facts strong{font-size:16px}.legacy-section-head{align-items:flex-start;flex-direction:column;gap:9px}.legacy-section-head h2{font-size:21px}.legacy-target{padding:18px 17px 12px}.legacy-target__head h3{font-size:17px}.legacy-allocation__person p{max-width:180px}.legacy-unplanned{align-items:flex-start;flex-wrap:wrap}.legacy-unplanned>button{margin-left:49px}.legacy-report-card{padding:20px}.beneficiary-card,.legacy-insurance-card,.invest-summary-card,.insurance-total-card,.renew-card{padding:19px}.legacy-report__head{flex-direction:column;gap:10px}.legacy-report__meta{align-items:flex-start}.report-networth{grid-template-columns:1fr 1fr}.report-networth>div{border-top:1px solid var(--line)}.report-networth>div:nth-child(1),.report-networth>div:nth-child(2){border-top:0}.report-networth>div:nth-child(3){border-left:0}.legacy-report__foot{flex-direction:column;gap:4px}}@media(max-width:520px){.wealth-summary__figures{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.wealth-summary__figures>div,.wealth-summary__figures>div:first-child{padding:0 7px;border-left:1px solid rgba(121,100,75,.18)}.wealth-summary__figures>div:first-child{border-left:0;padding-left:0}.goal-card__meta strong{font-size:10.5px}.goal-card__foot{align-items:flex-start;flex-direction:column}.goal-more{align-self:flex-end}.legacy-facts{grid-template-columns:1fr 1fr}.legacy-facts span{font-size:9.5px}.legacy-facts strong{font-size:14px}.legacy-allocation{gap:7px}.legacy-allocation__person strong{font-size:11.5px}.legacy-allocation__person p{max-width:120px}.legacy-target__share strong{font-size:18px}.legacy-target__head{gap:8px}.plan-report{overflow-x:auto}.report-table th,.report-table td{padding:5px}.legacy-report-card__actions{flex-wrap:wrap}}@media print{body{background:#fff!important}.app-shell,.admin-shell,.mobile-nav,.toast-stack{display:none!important}.modal-layer{position:static!important;display:block!important;padding:0!important;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.modal{width:100%!important;max-width:none!important;max-height:none!important;box-shadow:none!important;border:0!important;border-radius:0!important}.modal__head,.modal__footer{display:none!important}.modal__body{padding:0!important;overflow:visible!important}.legacy-report{font-size:10pt}.legacy-report__head{border-bottom-color:#222}.legacy-report__intro{background:#f5f2eb!important}.report-networth__total{background:#eef3ef!important}.report-section{break-inside:avoid}.legacy-report__foot{color:#777}}.report-unplanned{display:flex;align-items:flex-start;gap:8px;margin-top:11px;padding:8px 10px;border:1px dashed #d8ccb9;border-radius:5px;background:#faf6ee;color:var(--muted);font-size:10px;line-height:1.65}.report-unplanned strong{color:var(--ink-2);white-space:nowrap}
