@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&display=swap";:root{--bg:#f3f0e8;--bg-deep:#ebe6db;--surface:#fffdf8;--ink:#1b1a17;--muted:#6d675c;--line:#ddd5c6;--sage:#4d6b58;--sage-deep:#3c5646;--sage-soft:#e3ece6;--blue:#5d7f96;--blue-soft:#e5eef4;--warm:#c9895a;--danger:#9d4f43;--shadow:0 10px 30px #362d1e0f;--radius:18px;--radius-sm:14px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);color:var(--ink);background:radial-gradient(circle at top left, #5d7f961f, transparent 34%), radial-gradient(circle at top right, #4d6b5824, transparent 28%), linear-gradient(180deg, #f7f4ec 0%, var(--bg) 42%, var(--bg-deep) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-family:Plus Jakarta Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;color:var(--ink);background:0 0;margin:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100svh;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(28px + var(--safe-bottom)) calc(20px + var(--safe-left))}.home,.screen{width:min(100%,430px);margin:0 auto;animation:.42s both rise}.screen--wide{width:min(100%,520px)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home{min-height:calc(100dvh - 48px - var(--safe-top) - var(--safe-bottom));flex-direction:column;justify-content:center;gap:36px;display:flex}.home__brand{text-align:center}.home__eyebrow{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.82rem;font-weight:600}.home__title{letter-spacing:.04em;margin:0;font-size:clamp(3.4rem,14vw,4.4rem);font-weight:800;line-height:.95}.home__subtitle{max-width:16rem;color:var(--muted);margin:14px auto 0;font-size:1rem;line-height:1.45}.home__nav{gap:14px;display:grid}.home-card{border-radius:calc(var(--radius) + 4px);background:var(--surface);box-shadow:var(--shadow);border:1px solid #1b1a170f;gap:8px;padding:22px 22px 20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.home-card:active{transform:scale(.985)}.home-card--primary{background:linear-gradient(160deg, #fffdf8e6, #e3ece6f2), var(--surface);border-color:#4d6b5829}.home-card--secondary{background:linear-gradient(160deg, #fffdf8f2, #e5eef4eb), var(--surface);border-color:#5d7f9629}.home-card__kicker{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:600}.home-card__title{letter-spacing:-.02em;font-size:1.7rem;font-weight:750}.home-card__hint{color:var(--muted);font-size:.95rem;line-height:1.4}.screen__header{gap:18px;margin-bottom:22px;display:grid}.screen__spacer{height:28px}.back-link{width:fit-content;min-height:44px;color:var(--muted);align-items:center;gap:8px;padding:0 2px;font-size:.95rem;font-weight:600;display:inline-flex}.screen__title{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,8vw,2.45rem);font-weight:800}.screen__body,.form{gap:18px;display:grid}.field{gap:10px;display:grid}.field__label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.84rem;font-weight:700}.person-picker{grid-template-columns:1fr 1fr;gap:10px;display:grid}.person-picker__btn,.select-trigger,.primary-btn,.sheet__option,.sheet__close{appearance:none;cursor:pointer;border:0}.person-picker__btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:56px;color:var(--ink);font-size:1.05rem;font-weight:700;transition:background .16s,border-color .16s,color .16s}.person-picker__btn.is-selected{background:var(--sage);color:#fff;border-color:#0000}.select-trigger{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:56px;color:var(--muted);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.select-trigger.has-value{color:var(--ink);font-weight:600}.select-trigger__chevron{color:var(--blue);font-size:1.1rem}.textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:118px;color:var(--ink);resize:vertical;padding:14px 16px;line-height:1.45}.textarea:focus,.select-trigger:focus-visible,.person-picker__btn:focus-visible,.primary-btn:focus-visible,.back-link:focus-visible,.home-card:focus-visible,.person-card:focus-visible,.sheet__option:focus-visible,.sheet__close:focus-visible{outline-offset:2px;outline:2px solid #5d7f968c}.primary-btn{background:var(--sage-deep);color:#fff;letter-spacing:.08em;border-radius:16px;min-height:58px;font-size:1.02rem;font-weight:800}.primary-btn:disabled{opacity:.7;cursor:wait}.form-error{color:var(--danger);margin:0;font-size:.95rem;font-weight:600}.status-line,.empty-state{color:var(--muted);margin:0}.empty-state{border:1px dashed var(--line);border-radius:var(--radius);text-align:center;background:#fffdf88c;padding:28px 18px}.success-panel{border-radius:var(--radius);background:var(--sage-soft);text-align:center;gap:8px;padding:28px 22px;animation:.32s both rise;display:grid}.success-panel__title{color:var(--sage-deep);margin:0;font-size:1.4rem;font-weight:800}.success-panel__text{color:var(--muted);margin:0}.person-grid{gap:14px;display:grid}.person-card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border:1px solid #1b1a170f;gap:16px;padding:22px;display:grid}.person-card__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.person-card__top h2{letter-spacing:-.02em;margin:0;font-size:1.7rem;font-weight:800}.person-card__arrow{color:var(--blue);font-size:1.2rem}.person-card__empty,.person-card__meta{color:var(--muted);margin:0}.person-card__meta{gap:10px;display:grid}.person-card__meta p{gap:4px;margin:0;display:grid}.person-card__label{letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.person-card__value,.person-card__count{color:var(--ink);font-size:1.05rem;font-weight:650}.month-section{gap:14px;display:grid}.month-section__title{color:var(--blue);letter-spacing:.08em;margin:8px 0 0;font-size:.92rem;font-weight:800}.month-section__list{gap:12px;display:grid}.activity-item{border-radius:var(--radius-sm);background:var(--surface);border:1px solid #1b1a170d;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:18px 14px 16px 18px;display:grid}.activity-item__main{gap:8px;min-width:0;display:grid}.activity-item__title{margin:0;font-size:1.08rem;font-weight:700;line-height:1.35}.activity-item__index{color:var(--sage)}.activity-item__note{color:var(--muted);margin:0;font-size:.98rem;line-height:1.45}.activity-item__time{color:var(--muted);margin:0;font-size:.88rem;font-weight:600}.activity-item__actions{align-items:flex-start;gap:2px;margin-top:1px;display:flex}.icon-btn{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn svg{opacity:.72;width:16px;height:16px}.icon-btn--danger{color:var(--danger)}.icon-btn:focus-visible{outline-offset:2px;outline:2px solid #5d7f968c}.confirm-root{z-index:50;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-backdrop{background:#1b1a1757;border:0;position:absolute;inset:0}.confirm-card{z-index:1;border-radius:var(--radius);background:var(--surface);width:min(100%,320px);box-shadow:var(--shadow);padding:22px 20px 18px;position:relative}.confirm-card__text{text-align:center;margin:0 0 18px;font-size:1.02rem;font-weight:650;line-height:1.4}.confirm-card__actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.confirm-btn{letter-spacing:.04em;cursor:pointer;border:0;border-radius:12px;min-height:46px;font-size:.92rem;font-weight:800}.confirm-btn--ghost{background:var(--bg-deep);color:var(--ink)}.confirm-btn--danger{background:var(--danger);color:#fff}.confirm-btn:disabled{opacity:.7;cursor:wait}.sheet-root{z-index:40;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:#1b1a1757;border:0;position:absolute;inset:0}.sheet{z-index:1;width:min(100%,520px);max-height:min(78dvh,680px);padding:10px 16px calc(16px + var(--safe-bottom));background:var(--surface);border-radius:24px 24px 0 0;flex-direction:column;animation:.22s both sheet-up;display:flex;position:relative;box-shadow:0 -12px 40px #1b1a171f}@keyframes sheet-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.sheet__handle{background:var(--line);border-radius:999px;width:42px;height:4px;margin:4px auto 12px}.sheet__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.sheet__header h2{margin:0;font-size:1.15rem;font-weight:800}.sheet__close{background:var(--blue-soft);min-height:40px;color:var(--blue);border-radius:999px;padding:0 10px;font-weight:700}.sheet__list{-webkit-overflow-scrolling:touch;margin:0;padding:0 0 8px;list-style:none;overflow:auto}.sheet__option{width:100%;min-height:52px;color:var(--ink);text-align:left;background:0 0;border-bottom:1px solid #ddd5c6b3;justify-content:space-between;align-items:center;gap:12px;padding:12px 8px;display:flex}.sheet__option.is-selected{color:var(--sage-deep);font-weight:700}@media (width>=768px){.app-shell{padding-top:calc(36px + var(--safe-top))}.home-card:hover,.person-card:hover{transform:translateY(-1px);box-shadow:0 14px 34px #362d1e14}}
