@import "https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&display=swap";:root{--belonging:#eb9471;--belonging-dark:#c4643c;--belonging-tint:#fbe7de;--becoming:#86d6eb;--becoming-dark:#2e7e96;--becoming-tint:#e4f5fa;--building:#90bf99;--building-dark:#4f7d5a;--building-tint:#e8f2ea;--ink:#221f1f;--muted:#6b6b6b;--faint:#9a9a9a;--ghost:#c9c9c9;--rule:#ececec;--hairline:#f2f2f2;--surface:#fff;--surface-alt:#fbfbfb;--accent:#ffce35;--accent-tint:#fff9e8;--font:"Raleway", "Segoe UI", system-ui, -apple-system, sans-serif;--tap:44px;--row-h:54px;--name-w:104px;--col-w:72px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.screen{flex-direction:column;height:100%;display:flex}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.topbar h1{letter-spacing:-.2px;margin:0;font-size:17px;font-weight:700}.topbar p{color:var(--faint);margin:2px 0 0;font-size:12px;font-weight:500}.topbar__saving{color:var(--faint);font-size:12px;font-weight:700}.tabs{border-bottom:1px solid var(--rule);padding:0 16px;display:flex}.tabs__tab{color:var(--faint);border-bottom:3px solid #0000;flex:1;padding:10px 0 9px;font-size:13px;font-weight:600}.tabs__tab--on{color:var(--ink);font-weight:700}.tabs__tab--belonging.tabs__tab--on{border-bottom-color:var(--belonging)}.tabs__tab--becoming.tabs__tab--on{border-bottom-color:var(--becoming)}.tabs__tab--building.tabs__tab--on{border-bottom-color:var(--building)}.matrix{flex:1;min-height:0;overflow:hidden}.matrix__scroll{height:100%;overflow:auto}.matrix__head,.matrix__row{align-items:stretch;display:flex}.matrix__head{z-index:3;background:var(--surface-alt);border-bottom:1px solid var(--rule);position:sticky;top:0}.matrix__row{height:var(--row-h);border-bottom:1px solid var(--hairline)}.matrix__namecol{width:var(--name-w);z-index:2;background:var(--surface);flex:none;align-items:center;gap:8px;padding:0 10px;display:flex;position:sticky;left:0;box-shadow:2px 0 #0000000a}.matrix__head .matrix__namecol{background:var(--surface-alt);z-index:4;color:var(--faint);letter-spacing:.6px;text-transform:uppercase;align-items:flex-end;padding-top:8px;padding-bottom:8px;font-size:10px;font-weight:700}.matrix__name{flex-direction:column;gap:1px;min-width:0;display:flex}.matrix__nametext{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.matrix__status{color:var(--faint);font-size:10px}.matrix__colhead{width:var(--col-w);text-align:center;color:var(--muted);overflow-wrap:anywhere;flex:none;justify-content:center;align-items:flex-end;padding:8px 4px;font-size:9px;font-weight:700;line-height:1.25;display:flex}.matrix__cell{width:var(--col-w);flex:none;display:flex}.cell{min-height:var(--tap);flex:1;justify-content:center;align-items:center;display:flex}.cell:disabled{opacity:.45;cursor:default}.cell__plus{color:#d0d0d0}.cell--belonging .cell__tick{color:var(--belonging-dark)}.cell--becoming .cell__tick{color:var(--becoming-dark)}.chip{white-space:nowrap;border-radius:6px;padding:5px 7px;font-size:11px;font-weight:700}.cell--belonging .chip--done{color:var(--belonging-dark);background:var(--belonging-tint)}.cell--becoming .chip--done{color:var(--becoming-dark);background:var(--becoming-tint)}.chip--started{background:0 0;border:1.5px dashed;padding:4px 6px;font-style:italic;font-weight:600}.cell--belonging .chip--started{color:var(--belonging-dark)}.cell--becoming .chip--started{color:var(--becoming-dark)}.tickbox{border:2px solid #ddd;border-radius:11px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.tickbox--on{background:var(--belonging);border-color:var(--belonging);color:#fff}.actionbar{border-top:1px solid var(--rule);background:var(--surface);align-items:center;gap:10px;padding:10px 16px 14px;display:flex}.actionbar__count{color:var(--faint);font-size:12px;font-weight:700}.actionbar__pick{appearance:none;text-align:center;flex:1}.btn{min-height:var(--tap);border-radius:22px;padding:0 16px;font-size:13px;font-weight:700}.btn--soft{border:1.5px solid #e2e2e2}.btn--primary{background:var(--ink);color:#fff}.btn--primary:disabled{opacity:.4}.empty{color:var(--muted);text-align:center;padding:28px 22px;font-size:13px;line-height:1.6}.sheet__backdrop{z-index:10;background:#00000047;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:20px 20px 0 0;flex-direction:column;gap:13px;width:100%;max-height:92%;padding:10px 18px 20px;display:flex;overflow:auto;box-shadow:0 -8px 28px #00000029}.sheet__grab{background:#e2e2e2;border-radius:2px;align-self:center;width:38px;height:4px}.sheet__title{flex-direction:column;gap:3px;display:flex}.sheet__title h2{letter-spacing:-.2px;margin:0;font-size:17px;font-weight:700}.sheet__stage{letter-spacing:.8px;text-transform:uppercase;font-size:10px;font-weight:700}.sheet--belonging .sheet__stage{color:var(--belonging-dark)}.sheet--becoming .sheet__stage{color:var(--becoming-dark)}.sheet__who{color:var(--faint);font-size:12px;font-weight:500}.segmented{background:#f2f2f2;border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--faint);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:9px 4px;font-size:12px;font-weight:600;display:flex}.segmented button small{color:var(--ghost);font-size:9px;font-weight:600}.segmented__on{background:var(--surface);color:var(--ink);font-weight:700}.segmented__on small{color:var(--muted)}.sheet__field{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.sheet__field input{font:inherit;color:var(--ink);min-height:var(--tap);background:var(--surface);border:1.5px solid #e2e2e2;border-radius:12px;padding:0 12px;font-size:16px;font-weight:600}.sheet__note{color:var(--ink);background:var(--accent-tint);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;margin:0;padding:10px 12px;font-size:11px;line-height:1.5}.sheet__actions{gap:10px;display:flex}.sheet__actions .btn{flex:1}.sheet__undated,.sheet__clear{color:var(--faint);min-height:var(--tap);font-size:12px;font-weight:600}.topbar__right{align-items:center;gap:10px;display:flex}.topbar__add{background:#f4f4f4;border-radius:19px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.topbar__back{justify-content:center;align-items:center;width:38px;height:38px;margin-right:4px;display:flex}.viewswitch{background:#f2f2f2;border-radius:12px;gap:4px;margin:0 16px 10px;padding:4px;display:flex}.viewswitch button{min-height:38px;color:var(--faint);border-radius:9px;flex:1;font-size:13px;font-weight:600}.viewswitch__on{background:var(--surface);color:var(--ink);font-weight:700}.overview__scroll{flex:1;min-height:0;overflow-y:auto}.overview{flex-direction:column;gap:26px;padding:4px 16px 24px;display:flex}.overview h2{align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:700;display:flex}.overview__foot{color:var(--faint);margin:10px 0 0;font-size:11px;line-height:1.5}.overview__foot--lead{margin:0 0 12px}.pill{color:#b98900;background:#fff4d6;border-radius:9px;padding:2px 7px;font-size:10px;font-weight:700}.bar{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.bar__label{justify-content:space-between;align-items:baseline;font-size:12px;font-weight:700;display:flex}.bar__value{color:var(--muted);font-size:11px;font-weight:600}.bar__track{background:#f0f0f0;border-radius:5px;height:9px;overflow:hidden}.bar__fill{border-radius:5px;height:9px}.bar__fill--belonging{background:var(--belonging)}.bar__fill--becoming{background:var(--becoming)}.bar__fill--building{background:var(--building)}.micro{align-items:center;gap:8px;margin-bottom:7px;display:flex}.micro__label{width:108px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:10px;font-weight:600;overflow:hidden}.micro__track{background:#f2f2f2;border-radius:3px;flex:1;height:6px;overflow:hidden}.micro__fill{border-radius:3px;height:6px}.micro__fill--belonging{background:var(--belonging)}.micro__fill--becoming{background:var(--becoming)}.micro__fill--building{background:var(--building)}.micro__value{text-align:right;width:28px;color:var(--faint);flex:none;font-size:10px;font-weight:700}.micro__unknown{text-align:right;width:24px;color:var(--ghost);flex:none;font-size:10px;font-weight:700}.gap{text-align:left;border-bottom:1px solid var(--hairline);width:100%;min-height:var(--tap);flex-direction:column;gap:2px;padding:10px 0;display:flex}.gap__name{font-size:13px;font-weight:600}.gap__detail{color:var(--faint);font-size:11px}.detail{flex-direction:column;flex:1;gap:26px;min-height:0;padding:4px 16px 24px;display:flex;overflow-y:auto}.detail h2{margin:0 0 12px;font-size:14px;font-weight:700}.detailrow{min-height:var(--tap);border-bottom:1px solid var(--hairline);align-items:center;gap:9px;display:flex}.detailrow__dot{border-radius:4px;flex:none;width:7px;height:7px}.detailrow__dot--belonging{background:var(--belonging)}.detailrow__dot--becoming{background:var(--becoming)}.detailrow__dot--building{background:var(--building)}.detailrow__name{flex:1;font-size:13px;font-weight:500}.detailrow__state{text-align:right;font-size:11px;font-weight:600}.detailrow--unknown .detailrow__state{color:var(--ghost);font-weight:500}.detailrow--started .detailrow__state{color:var(--muted);font-style:italic}.detailrow--done .detailrow__state{color:var(--ink)}.event{border-bottom:1px solid var(--hairline);grid-template-columns:74px 1fr auto;align-items:baseline;gap:8px;padding:9px 0;font-size:11px;display:grid}.event__when{color:var(--faint);font-weight:600}.event__what{color:var(--ink);line-height:1.45}.event__who{color:var(--ghost);font-weight:600}.chosen{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.chosen__name{font-size:16px;font-weight:700}.chosen__change{color:var(--belonging-dark);min-height:var(--tap);font-size:12px;font-weight:700}.knownrow{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:9px;padding:8px 0;display:flex}.knownrow__name{flex:1;min-width:120px;font-size:13px;font-weight:500}.knownrow__dates{align-items:center;gap:8px;display:flex}.knownrow__dates input{font:inherit;background:var(--surface);border:1.5px solid #e2e2e2;border-radius:9px;min-height:38px;padding:0 8px;font-size:13px}.knownrow__toggle{color:var(--faint);border:1.5px solid #e2e2e2;border-radius:9px;min-height:38px;padding:0 10px;font-size:11px;font-weight:700}.knownrow__toggle--on{color:var(--becoming-dark);border-color:var(--becoming);background:var(--becoming-tint)}.update{z-index:20;background:var(--ink);color:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 6px 24px #00000038}.update__text{font-size:13px;font-weight:600}.update__action{color:var(--accent);min-height:var(--tap);padding:0 4px;font-size:13px;font-weight:700}
