:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#183e66;background:#edf4fb;font-size:18px;color-scheme:light}*{box-sizing:border-box}body{margin:0}a,button,input{-webkit-tap-highlight-color:transparent}a{color:inherit}button,input{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:4px solid #e4a82f;outline-offset:3px}[hidden]{display:none!important}
.visual-tile{position:relative}.stock-badge{position:absolute;right:0;top:0;min-width:32px;padding:4px 7px;border-radius:12px;background:white;border:1px solid #c2d3e6;font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:0 2px 5px #20456812}.tile-image{position:relative;display:block;width:100%;aspect-ratio:1;flex-shrink:0;overflow:hidden;border-radius:22px;isolation:isolate}.tile-image>.picture{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;z-index:0}.tile-image>.stock-badge{z-index:2}.stock-badge.green{background:#26723f;border-color:#26723f;color:#fff}.stock-badge.yellow{background:#f4cc4f;border-color:#b99121;color:#302500}.stock-badge.red{background:#b82f35;border-color:#b82f35;color:#fff}.picture.art-6,.picture.art-7,.picture.art-8,.picture.art-9,.picture.art-10,.picture.art-11,.picture.art-12,.picture.art-13,.picture.art-14{background-image:url('icons/additional-household-art.png');background-size:300% 300%}.art-6{background-position:0 0}.art-7{background-position:50% 0}.art-8{background-position:100% 0}.art-9{background-position:0 50%}.art-10{background-position:50% 50%}.art-11{background-position:100% 50%}.art-12{background-position:0 100%}.art-13{background-position:50% 100%}.art-14{background-position:100% 100%}
.home{max-width:800px;margin:auto;padding:24px 16px}.home h1{font-size:1.8rem;letter-spacing:-.04em;margin:0 0 18px}#home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 10px}.visual-tile{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;min-width:0;border:0;background:transparent}.visual-tile .picture{width:100%;border-radius:22px}.tile-label{font-size:.9rem;font-weight:700;line-height:1.3;margin-top:5px;overflow-wrap:anywhere}.picture{display:block;aspect-ratio:2/3;background-image:url('icons/household-art.png');background-size:300% 200%;background-repeat:no-repeat}.art-0{background-position:0 0}.art-1{background-position:50% 0}.art-2{background-position:100% 0}.art-3{background-position:0 100%}.art-4{background-position:50% 100%}.art-5{background-position:100% 100%}.art--1{background-image:none;display:grid;place-items:center;font-size:4rem}.home footer{margin-top:26px;text-align:center}.home footer a{display:inline-block;padding:15px;min-height:48px;font-size:.85rem}#pagination{display:flex;justify-content:space-between;margin-top:20px}#pagination a{padding:15px}
/* Separate image and control rows; no overlapping control panel. */
.item-page{background:#edf4fb}#item-stage{display:grid;grid-template-rows:minmax(0,1fr) minmax(calc(132px + env(safe-area-inset-bottom)),20dvh);height:100svh;height:100dvh;min-height:360px;overflow:hidden}#image-area{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;container-type:size}#full-image{position:relative;inset:auto;margin:0;width:min(100cqw,66.667cqh);height:min(150cqw,100cqh);aspect-ratio:2/3;transform:scale(1.08)}#image-area #full-image.square-art{width:min(100cqw,100cqh);height:min(100cqw,100cqh)}#stock{position:absolute;z-index:1;top:max(12px,env(safe-area-inset-top));right:16px;padding:5px 12px;border-radius:14px;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums}#item-controls{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 18px calc(4px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #cbdbea;min-height:0}.quantity-controls{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px;width:100%;max-width:520px}.quantity-controls button{height:64px;border:0;border-radius:16px;background:#175cba;color:white;font-size:2.6rem;font-weight:650;cursor:pointer}.quantity-controls input{min-width:0;width:100%;height:64px;border:2px solid #8eafd0;border-radius:16px;background:white;color:#183e66;text-align:center;font-size:1.8rem;font-weight:750;appearance:textfield}.quantity-controls input::-webkit-inner-spin-button{appearance:none}#back{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px;padding:8px 28px;font-weight:700;font-size:1rem}#error{position:relative;z-index:2;background:white;color:#902e1e;padding:16px;margin:12px;border:2px solid #d5876e}.item-page #error{position:fixed;top:0;left:0;right:0}button:disabled,input:disabled{opacity:.45}@media(max-width:350px){#home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quantity-controls{gap:8px}}@media(min-width:650px){#home-grid{gap:26px}.tile-label{font-size:1.1rem}}
.picture.square-art{aspect-ratio:1}.maintenance{max-width:480px}.maintenance label{display:block;margin:16px 0;font-size:1rem;font-weight:650}.maintenance input,.maintenance select{display:block;width:100%;padding:12px;margin-top:8px;min-height:48px;border:1px solid #9bb4ce;border-radius:10px;background:white;font:inherit}.maintenance button{padding:14px 24px;border:0;border-radius:12px;background:#175cba;color:white;font:inherit}.maintenance #validation{color:#9f2525}

/* Inventory gets the main stage; supporting actions stay at the bottom. */
.home-page .home{padding-top:0;padding-bottom:0;min-height:100svh;display:flex;flex-direction:column}.home-banner{align-self:stretch;margin:0 -16px 28px;padding:28px 16px;background:#175cba;border-bottom:6px solid #103f80;text-align:center}.home .home-banner h1{margin:0;font-size:clamp(2.6rem,10vw,4rem);line-height:1.08;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:600;letter-spacing:-.045em;color:white}.home-page #home-grid{flex:1;align-content:start}.home-page .bottom-navigation{position:sticky;bottom:0;z-index:5;margin:28px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#f8fbff;border-top:1px solid #cbdbea}.bottom-navigation nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-page .bottom-navigation a{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:56px;padding:12px 8px;border:1px solid #b4c9e0;border-radius:14px;background:white;color:#234e7c;font-size:.95rem;font-weight:700;text-align:center}

#stock{max-width:calc(100% - 32px);overflow-wrap:anywhere}

/* v13: compact white home surface and a separate row-based shopping list. */
:root{background:#fff;color:#111}.home-page{background:#fff}.home-page .home{padding-left:12px;padding-right:12px}.home-banner{background:white;border-bottom:0;margin:0 -12px 16px;padding:22px 12px 12px}.home .home-banner h1{color:#111;font-size:clamp(2.3rem,9vw,3.6rem)}.home-page #home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 9px}.tile-label{font-size:.82rem;line-height:1.2;color:#111}.tile-image{border-radius:16px}.stock-badge{font-size:.9rem;padding:3px 6px;min-width:29px}.home-page .bottom-navigation{background:#fff;border-color:#ddd;margin:18px -12px 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.home-page .bottom-navigation a{color:#111;border-color:#ccc;min-height:48px;font-size:.85rem}.shopping-page{max-width:700px;margin:0 auto;padding:20px 12px;min-height:100svh;color:#111}.shopping-page h1{font-size:1.8rem;margin:0 0 18px;letter-spacing:-.04em}#add-shopping{display:flex;gap:8px;margin-bottom:16px}#add-shopping input{min-width:0;flex:1;height:48px;padding:10px;border:1px solid #bbb;border-radius:10px;font:inherit}#add-shopping button{min-height:48px;padding:10px 16px;border:0;border-radius:10px;background:#111;color:white;font:inherit}#shopping-rows{list-style:none;padding:0;margin:0}.shopping-row{display:grid;grid-template-columns:36px minmax(0,1fr) 64px 44px;gap:3px;align-items:center;border-bottom:1px solid #e5e5e5;min-height:74px;padding:10px 0}.shopping-picture{width:32px;height:42px;aspect-ratio:auto;border-radius:6px;font-size:1.4rem}.shopping-title{font-size:.82rem;line-height:1.3;overflow-wrap:anywhere;padding:0 3px}.purchased-control{display:grid;place-items:center;width:44px;height:44px}.purchased-check{width:24px;height:24px;margin:0;accent-color:#28763f}.purchased .shopping-picture,.purchased .shopping-title{opacity:.5}.purchased .shopping-title{text-decoration:line-through}.shopping-footer{position:sticky;bottom:0;text-align:center;background:white;padding:12px}.shopping-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 30px;text-decoration:none;font-weight:650}#shopping-error{font-size:.9rem;color:#9d2424;line-height:1.4}.maintenance{color:#111}.maintenance h1{font-size:1.6rem}@media(min-width:600px){.tile-label{font-size:1rem}.shopping-row{grid-template-columns:44px minmax(0,1fr) 72px 48px;gap:8px}.shopping-picture{width:44px;height:52px}.shopping-title{font-size:1rem}}@media(max-width:350px){.home-page .home{padding-left:10px;padding-right:10px}.home-page #home-grid{gap:10px 7px}.shopping-page{padding-left:8px;padding-right:8px}.shopping-row{grid-template-columns:32px minmax(0,1fr) 60px 44px;gap:2px}.shopping-picture{width:28px;height:38px}.shopping-title{font-size:.78rem}.tile-label{font-size:.78rem}}

.shopping-current{font-size:1rem;font-weight:650;text-align:center;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

/* Image-free home tiles use their names; keep the same image and badge geometry. */
.tile-image{container-type:inline-size}
.tile-image>.art--1{display:flex;align-items:center;justify-content:center;padding:12px 8px;background-color:#f3f5f7;color:#111}
.tile-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;max-width:100%;font-size:clamp(1rem,8cqw,1.4rem);font-weight:600;line-height:1.2;text-align:center}
.tile-name-medium{font-size:clamp(.9rem,7cqw,1.2rem)}
.tile-name-long{font-size:clamp(.8rem,6.2cqw,1.1rem)}
