:root{font-family:Avenir Next,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#16231b;background:radial-gradient(circle at top left,rgba(255,255,255,.92),transparent 34%),radial-gradient(circle at top right,rgba(255,255,255,.82),transparent 28%),linear-gradient(180deg,#f8f7f2,#f3f1ea);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--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);--bg: #f6f4ed;--panel: rgba(255, 255, 255, .92);--panel-strong: #ffffff;--line: rgba(55, 88, 63, .09);--text: #18231d;--muted: #7b857d;--green: #42744c;--green-dark: #2f6038;--green-soft: #eff3ec;--danger: #9d433d;--shadow: 0 18px 40px rgba(36, 49, 39, .08)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100dvh;background:radial-gradient(circle at top left,rgba(255,255,255,.94),transparent 32%),radial-gradient(circle at 85% 8%,rgba(255,255,255,.78),transparent 24%),linear-gradient(180deg,#f8f7f2,#f3f1ea)}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled,input:disabled{cursor:not-allowed}#root{min-height:100dvh}.app-shell{position:relative;width:min(100%,430px);min-height:100dvh;margin:0 auto;padding:max(.75rem,var(--safe-top)) max(1rem,var(--safe-right)) calc(6.4rem + var(--safe-bottom)) max(1rem,var(--safe-left));overflow:hidden}.app-surface{position:absolute;inset:0;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.78),transparent 24%),radial-gradient(circle at 88% 24%,rgba(255,255,255,.54),transparent 18%);pointer-events:none}.app-header,.app-main,.bottom-nav{position:relative;z-index:1}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 0 1rem}.app-title-block{min-width:0}.eyebrow{margin:0 0 .3rem;color:var(--green);font-size:.9rem;font-weight:600;letter-spacing:.04em}.title-button{padding:0;color:inherit;background:transparent;text-align:left}.app-title-block h1,.title-edit-form input{margin:0;color:var(--text);font-size:2.15rem;font-weight:800;letter-spacing:-.04em;line-height:1.03}.title-edit-form input{width:min(100%,14rem);padding:0;border:0;background:transparent;outline:none}.floating-add-button{display:grid;flex:0 0 76px;width:76px;height:76px;place-items:center;border-radius:999px;color:#fff;background:linear-gradient(180deg,#4d8257,#356740);box-shadow:0 18px 28px #3567403d}.floating-add-button svg{width:2.25rem;height:2.25rem}.error-banner{margin-bottom:1rem;padding:.95rem 1rem;border:1px solid rgba(157,67,61,.12);border-radius:1rem;color:#8e342d;background:#ffebe8e6;box-shadow:var(--shadow)}.app-main,.overview-screen{display:flex;flex-direction:column;gap:.8rem}.panel{padding:.85rem;border:1px solid var(--line);border-radius:1.35rem;background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.add-panel{padding:.7rem}.create-panel{display:grid;gap:.6rem}.compose-bar{display:grid;grid-template-columns:44px minmax(0,1fr) 7.4rem;align-items:center;gap:.6rem}.compose-icon-slot{display:grid;width:44px;height:44px;place-items:center;border-radius:1rem;color:var(--green);background:#f7f9f5}.compose-icon-slot.action{border:1px solid rgba(66,116,76,.12)}.compose-icon-slot.neutral{border:1px solid rgba(66,116,76,.08)}.compose-icon-slot svg,.section-icon svg,.empty-illustration svg,.nav-button svg,.item-menu-button svg,.check-button svg{width:1.35rem;height:1.35rem}.compose-bar input,.item-edit-form input{width:100%;min-width:0;min-height:52px;padding:0 1rem;border:1px solid rgba(44,73,51,.12);border-radius:1.2rem;color:var(--text);background:#fffffff2;box-shadow:inset 0 1px 2px #131f180a;outline:none}.compose-bar input::placeholder,.item-edit-form input::placeholder{color:#adb3ad}.compose-submit,.hero-button,.inline-secondary-button,.overview-card-actions button,.mini-primary-button,.mini-secondary-button{min-height:48px;padding:0 1rem;border-radius:1.1rem;font-weight:700}.compose-submit,.hero-button,.mini-primary-button{color:#fff;background:linear-gradient(180deg,#4f8258,#366a41)}.inline-secondary-button,.overview-card-actions button,.mini-secondary-button{color:#3d4b42;background:#eef2eb}.inline-secondary-button{min-height:48px}.section-panel{padding:1rem .9rem .9rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.section-heading{display:flex;align-items:center;gap:.6rem;min-width:0}.section-icon,.section-count{display:inline-flex;align-items:center;justify-content:center;background:var(--green-soft)}.section-icon{width:2.55rem;height:2.55rem;border-radius:999px;color:var(--green)}.section-header h2,.empty-panel h2{margin:0;color:var(--text);font-size:1.05rem;font-weight:800}.section-count{min-width:3.75rem;min-height:2.55rem;padding:0 .85rem;border-radius:999px;color:var(--green);font-size:1rem;font-weight:700}.item-stack{display:flex;flex-direction:column;gap:.6rem}.item-row{display:grid;grid-template-columns:3rem minmax(0,1fr) 2.4rem;align-items:center;gap:.65rem;min-height:5.25rem;padding:.65rem .8rem;border:1px solid rgba(43,71,50,.08);border-radius:1.45rem;background:var(--panel-strong);box-shadow:0 10px 22px #1d2a200d}.item-row.purchased{background:#fafcf9f5}.check-button{display:grid;width:2.45rem;height:2.45rem;place-items:center;border:2px solid var(--green);border-radius:.9rem;color:transparent;background:transparent}.check-button.checked{color:#fff;background:var(--green)}.item-name-button{min-width:0;padding:0;overflow:hidden;color:var(--text);background:transparent;font-size:1.05rem;font-weight:700;text-align:left;text-overflow:ellipsis;white-space:nowrap}.purchased .item-name-button{color:#6d766f}.item-menu-button{display:grid;width:2.4rem;height:2.4rem;place-items:center;border-radius:999px;color:#737c75;background:#f3f5f1}.item-edit-form{display:grid;min-width:0;gap:.65rem}.item-edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.mini-primary-button,.mini-secondary-button{min-height:44px}.empty-copy,.empty-panel p,.purchased-empty-state p,.overview-card-meta{margin:0;color:var(--muted);line-height:1.65}.purchased-panel{min-height:15rem}.purchased-empty-state,.empty-panel{display:grid;justify-items:center;gap:.75rem;text-align:center}.empty-panel{padding-top:1.5rem;padding-bottom:1.5rem}.empty-panel.compact{min-height:16rem}.empty-illustration{display:grid;width:5.2rem;height:5.2rem;place-items:center;border-radius:999px;color:var(--green);background:var(--green-soft)}.empty-illustration.large{width:6rem;height:6rem}.overview-card{display:grid;gap:1rem}.overview-card.active{border-color:#42744c47;box-shadow:0 18px 40px #3567401a}.overview-card-main{padding:0;color:inherit;background:transparent;text-align:left}.overview-card-name{display:block;margin-bottom:.3rem;color:var(--text);font-size:1.15rem;font-weight:800}.overview-card-meta{display:block}.overview-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.overview-card-actions button{min-height:46px}.danger-action{color:var(--danger)!important;background:#f4e3dff2!important}.bottom-nav{position:fixed;left:50%;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:min(100%,430px);padding:.55rem 1rem calc(.7rem + var(--safe-bottom));transform:translate(-50%);border-top:1px solid rgba(41,64,47,.08);background:#ffffffeb;backdrop-filter:blur(16px);box-shadow:0 -10px 26px #1b261f0f}.nav-button{display:grid;justify-items:center;gap:.2rem;padding:.45rem .5rem;border-radius:1.2rem;color:#90978f;background:transparent;font-weight:700}.nav-button.active{color:var(--green)}.screen-state{min-height:100dvh;display:grid;place-items:center;color:var(--green-dark)}@media(max-width:390px){.app-shell{padding-right:max(.8rem,var(--safe-right));padding-left:max(.8rem,var(--safe-left))}.app-header{padding-top:1rem}.floating-add-button{flex-basis:68px;width:68px;height:68px}.compose-bar{grid-template-columns:42px minmax(0,1fr) 5.8rem;gap:.5rem}.compose-icon-slot{width:42px;height:42px}.compose-bar input{min-height:50px;padding:0 .85rem}.compose-submit{min-height:50px;padding:0 .8rem}.item-row{grid-template-columns:2.8rem minmax(0,1fr) 2.3rem;min-height:5rem;padding:.6rem .75rem}.check-button{width:2.35rem;height:2.35rem}.overview-card-actions{grid-template-columns:1fr}}
