:root{--green:#2f7d5b;--bg:#f4f8f5;--card:#fff;--ink:#1f2a24;--sub:#526158;--line:#dce7df;--good:#1f7a4d;--warn:#805000;--ng:#b3261e}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-size:1rem;line-height:1.6}.page{max-width:560px;padding:calc(env(safe-area-inset-top) + 24px) calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 32px) calc(env(safe-area-inset-left) + 16px);margin:0 auto}.head{margin-bottom:24px}.head h1{color:var(--green);align-items:center;gap:12px;margin:0;font-size:1.625rem;line-height:1.4;display:flex}.brand-mark{flex:none;width:1.4em;height:1.4em}.sub{color:var(--sub);margin:8px 0 0;font-size:.875rem}.card,.badge{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:16px;margin-bottom:16px;padding:16px}.card{background:var(--card);box-shadow:0 2px 8px #1f2a240a}.card h2{color:var(--green);margin:0 0 12px;font-size:1rem;font-weight:700}.badge.good{color:var(--good);background:#eaf5ed;border-color:#bfdcc9}.badge.warn{color:var(--warn);background:#fff6e5;border-color:#e4cfaa}.badge-title{font-size:1rem;font-weight:700}.badge-body{color:var(--ink);margin-top:8px;font-size:.875rem}.row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;padding:12px 0;font-size:.875rem;display:flex}.card h2+.row{border-top:none}.label{min-width:0;color:var(--sub)}.value{text-align:right;overflow-wrap:anywhere;flex:7rem;min-width:0;font-weight:600}.value.ok{color:var(--good)}.value.ng{color:var(--ng)}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}button{background:var(--green);color:#fff;overflow-wrap:anywhere;cursor:pointer;border:2px solid #0000;border-radius:12px;flex:9rem;min-width:44px;min-height:44px;padding:10px 12px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.5}button.ghost{color:var(--green);background:#edf5ef;border-color:#c9dfd0}button:disabled{color:var(--sub);cursor:not-allowed;background:#eef1ef;border-style:dashed;border-color:#829087}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--green);outline-offset:3px}button,input,select,summary,[tabindex="-1"]{scroll-margin-block:16px}dialog{border:1px solid var(--line);width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);color:var(--ink);background:var(--card);overflow-wrap:anywhere;border-radius:16px;padding:24px;overflow:auto;box-shadow:0 16px 48px #1f2a2429}dialog::backdrop{background:#1f2a2473}dialog h2{color:var(--green);margin:0 0 12px;font-size:1.125rem}dialog p{margin:0 0 16px}dialog .actions{flex-direction:column}dialog .actions button{flex-basis:auto}.foot{text-align:center;color:var(--sub);overflow-wrap:anywhere;margin-top:16px;font-size:.875rem}.add{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.add-controls{flex-wrap:wrap;gap:8px;display:flex}.initial-level{color:var(--sub);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.875rem;display:flex}.add input,.add select,.search input,.rename input{min-width:0;min-height:44px;color:var(--ink);background:var(--card);border:1px solid #819a8a;border-radius:12px;flex:8rem;padding:10px 12px;font-family:inherit;font-size:max(16px,1rem);line-height:1.5}input::placeholder{color:var(--sub);opacity:1}input:disabled,select:disabled{color:var(--sub);opacity:1;background:#eef1ef;border-style:dashed}.search{margin:16px 0}.search label{color:var(--sub);margin-bottom:8px;font-size:.875rem;display:block}.search-controls{flex-wrap:wrap;gap:8px;display:flex}.search-controls button,.add button{flex:0 auto}.error,.note{overflow-wrap:anywhere;border-left:4px solid;border-radius:8px;margin:12px 0 0;padding:12px;font-size:.875rem}.error{color:var(--ng);background:#fff1ef}.note{color:var(--good);background:#edf7f0}.empty{color:var(--sub);margin:12px 0;font-size:.875rem}.tobuy{color:var(--warn)}.items{margin:0;padding:0;list-style:none}.item{border-top:1px solid var(--line);padding:16px 0}.item:last-child{padding-bottom:0}.card h2+.items .item:first-child,.card .empty+.items .item:first-child{border-top:none}.shop{margin:12px 0;display:flex}button.ghost.on{color:var(--green);border-color:var(--green);box-shadow:inset 0 -3px 0 var(--green);background:#e3f2e8;font-weight:700}.shop-hint{color:var(--warn);margin:0 0 12px;font-size:.875rem}.card .shop+.items .item:first-child,.card .shop-hint+.items .item:first-child{border-top:none}.item-head{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-bottom:12px;display:grid}.rename{margin-bottom:16px}.rename label{color:var(--sub);gap:8px;font-size:.875rem;display:grid}.item-name{overflow-wrap:anywhere;min-width:0;font-size:1rem;font-weight:600}button.link{min-width:44px;min-height:44px;color:var(--sub);text-underline-offset:3px;background:0 0;flex:none;padding:8px;font-size:.875rem;font-weight:600;text-decoration:underline}.levels{flex-wrap:wrap;gap:8px;display:flex}button.level{min-height:44px;color:var(--sub);background:#f2f6f3;flex:4rem;font-size:.875rem;position:relative}button.level.on{border-color:currentColor;padding-left:24px;font-weight:700}button.level.on:before{content:"";border:2px solid;border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:calc(50% - 6px);left:10px;transform:rotate(45deg)}button.level.on.level-enough{color:var(--good);background:#e7f4ec}button.level.on.level-low{color:var(--warn);background:#fff3dc}button.level.on.level-out{color:var(--ng);background:#fff0ee}.diag{margin:0 0 16px}.diag summary{min-height:44px;color:var(--sub);cursor:pointer;overflow-wrap:anywhere;padding:12px 0;font-size:.875rem}.diag[open] summary{margin-bottom:12px}.hint{color:var(--sub);overflow-wrap:anywhere;margin:8px 0;font-size:.875rem}.hint.remind{color:var(--warn);background:#fff6e5;border:1px solid #e4cfaa;border-radius:12px;padding:12px}.hint.remind button.link{color:var(--warn)}.panel{border:1px solid var(--line);background:#f4f8f5;border-radius:16px;margin-top:16px;padding:16px}.panel-title{overflow-wrap:anywhere;margin:0 0 8px;font-size:1rem;font-weight:700}.reasons{color:var(--sub);overflow-wrap:anywhere;margin:8px 0;padding-left:24px;font-size:.875rem}
