:root{color:#20211d;font-synthesis:none;--green:#2d6a4f;--green-soft:#dceadf;--line:#e7e7df;--muted:#777970;background:#f6f6f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none}body,button,a,label,.app-shell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text}html{touch-action:manipulation}body{background:#f6f6f1;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.splash,.picker{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:28px;display:flex}.splash{color:var(--green);gap:10px}.brand-mark{background:var(--green);color:#fff;border-radius:22px;place-items:center;width:68px;height:68px;margin-bottom:26px;display:grid;box-shadow:0 14px 35px #2d6a4f38}.eyebrow{color:var(--green);letter-spacing:.16em;font-size:.72rem;font-weight:800}.picker h1{margin:8px 0;font-size:2rem}.picker>p{max-width:320px;color:var(--muted);margin:0 0 28px}.profile-grid{grid-template-columns:repeat(2,1fr);gap:12px;width:min(100%,420px);display:grid}.profile-choice{border:1px solid var(--line);background:#fff;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:130px;display:flex;box-shadow:0 8px 24px #1418130d}.profile-choice:active{transform:scale(.98)}.profile-choice span{font-size:2.6rem}.app-shell{width:min(100%,560px);min-height:100dvh;margin:0 auto;padding-bottom:102px;position:relative}.topbar{padding:calc(20px + env(safe-area-inset-top)) 20px 16px;z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f6f1eb;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.03em;margin:3px 0 0;font-size:1.7rem}.avatar-button{background:#fff;border:0;border-radius:50%;width:46px;height:46px;font-size:1.4rem;box-shadow:0 4px 18px #0000000f}.content{padding:2px 16px 24px}.summary-card{background:var(--green);color:#fff;border-radius:26px;justify-content:space-between;align-items:center;min-height:110px;padding:20px;display:flex;box-shadow:0 16px 35px #2d6a4f33}.summary-card div{flex-direction:column;display:flex}.summary-card strong{font-size:2rem;line-height:1}.summary-card span{opacity:.8;margin-top:8px}.section-title{justify-content:space-between;align-items:end;margin:24px 4px 10px;display:flex}.section-title h2{margin:0;font-size:1.1rem}.section-title span{color:var(--muted);font-size:.85rem}.items{flex-direction:column;gap:10px;display:flex}.item{border:1px solid var(--line);background:#fff;border-radius:20px;align-items:flex-start;gap:12px;padding:14px;transition:all .18s;display:flex;box-shadow:0 5px 18px #14181309}.item.done{opacity:.58}.item.done .item-main>.item-line strong{text-decoration:line-through}.check-button{color:#fff;background:#fff;border:2px solid #c8cec6;border-radius:9px;flex:none;place-items:center;width:28px;height:28px;margin-top:1px;display:grid}.done .check-button{background:var(--green);border-color:var(--green)}.item-main{flex:1;min-width:0}.item-line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.item-line strong{overflow-wrap:anywhere;font-size:1rem}.item-line span{color:var(--muted);white-space:nowrap;font-size:.84rem}.note{color:#60625b;margin:5px 0 0;font-size:.88rem}.meta{color:#92948c;flex-wrap:wrap;gap:7px 12px;margin-top:8px;font-size:.75rem;display:flex}.icon-button{color:#9a9c95;background:0 0;border:0;border-radius:10px;padding:6px}.history-list{padding-top:8px}.empty{text-align:center;min-height:260px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty div{background:var(--green-soft);width:54px;height:54px;color:var(--green);border-radius:18px;place-items:center;margin-bottom:14px;font-size:1.5rem;display:grid}.empty strong{color:#44463f}.empty span{margin-top:5px;font-size:.85rem}.fab{background:var(--green);color:#fff;z-index:12;border:5px solid #f6f6f1;border-radius:20px;place-items:center;width:58px;height:58px;display:grid;position:fixed;bottom:96px;right:max(18px,50vw - 262px);box-shadow:0 9px 24px #2d6a4f4d}.bottom-nav{z-index:10;width:min(100%,560px);min-height:82px;padding:9px 24px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff5;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#999c94;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.69rem;font-weight:700;display:flex}.bottom-nav svg{width:22px}.bottom-nav .active{color:var(--green)}.profile-panel{text-align:center;padding:28px 8px}.profile-avatar{background:#fff;border-radius:34px;place-items:center;width:100px;height:100px;margin:20px auto 14px;font-size:3.6rem;display:grid;box-shadow:0 12px 30px #0000000f}.profile-panel h2{margin:0;font-size:1.5rem}.profile-panel p{color:var(--muted)}.secondary-button,.primary-button{border:0;border-radius:16px;min-height:52px;padding:0 18px;font-weight:800}.secondary-button{color:#3d4039;background:#e7e8e2}.primary-button{background:var(--green);color:#fff;width:100%;margin-top:4px}.primary-button:disabled{opacity:.6}.sheet-backdrop{z-index:30;background:#171a1657;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(100%,560px);padding:10px 18px calc(24px + env(safe-area-inset-bottom));background:#fafaf6;border-radius:28px 28px 0 0;box-shadow:0 -18px 50px #00000026}.sheet-handle{background:#d8d9d3;border-radius:10px;width:38px;height:5px;margin:0 auto 12px}.sheet-header{justify-content:space-between;align-items:center;display:flex}.sheet-header h2{margin:0 0 8px}.sheet label{color:#6d7068;flex-direction:column;gap:7px;margin:12px 0;font-size:.8rem;font-weight:800;display:flex}.sheet input{color:#252720;background:#fff;border:1px solid #dfdfd7;border-radius:15px;outline:none;width:100%;height:52px;padding:0 14px}.sheet input:focus{border-color:#7aa28d;box-shadow:0 0 0 3px #2d6a4f14}@media (width>=700px){body{background:#e8e9e3}.app-shell{background:#f6f6f1;box-shadow:0 0 50px #0000000f}}
