:root{--green:#2f7d5b;--bg:#f6f4ee;--card:#fff;--ink:#1f2a24;--sub:#66736b;--line:#e3dfd3;--good:#1f7a4d;--warn:#9a5b00;--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}.page{max-width:560px;padding:calc(env(safe-area-inset-top) + 16px) 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 h1{margin:8px 0 0;font-size:26px}.sub{color:var(--sub);margin:4px 0 16px;font-size:13px}.badge{border:1px solid;border-radius:14px;margin-bottom:14px;padding:14px 16px}.badge.good{color:var(--good);background:#e7f4ec;border-color:#b7dcc6}.badge.warn{color:var(--warn);background:#fff3df;border-color:#f0d4a0}.badge-title{font-size:16px;font-weight:700}.badge-body{color:var(--ink);margin-top:4px;font-size:13px;line-height:1.5}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:12px 16px 14px}.card h2{color:var(--sub);margin:0 0 6px;font-size:14px;font-weight:600}.row{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:14px;display:flex}.card h2+.row{border-top:none}.label{color:var(--sub);flex:none}.value{text-align:right;word-break:break-all;font-weight:600}.value.ok{color:var(--good)}.value.ng{color:var(--ng)}.actions{gap:10px;margin-top:10px;display:flex}button{background:var(--green);color:#fff;border:0;border-radius:12px;flex:1;min-height:44px;font-family:inherit;font-size:15px;font-weight:600}button.ghost{color:var(--green);background:#eaf2ee}button:disabled{opacity:.6}dialog{border:1px solid var(--line);max-width:min(420px,100vw - 32px);color:var(--ink);background:var(--bg,#f6f4ee);border-radius:12px;padding:20px}dialog::backdrop{background:#00000073}dialog .actions{flex-wrap:wrap}.foot{text-align:center;color:var(--sub);margin-top:8px;font-size:12px}.add{gap:10px;display:grid}.add-controls{gap:10px;display:flex}.initial-level{color:var(--sub);align-items:center;gap:10px;font-size:13px;display:flex}.add input,.add select,.search input,.rename input{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);background:#fff;border-radius:12px;flex:1;padding:0 12px;font-family:inherit;font-size:16px}.search{margin:8px 0}.search label{color:var(--sub);margin-bottom:4px;font-size:13px;display:block}.search-controls{gap:10px;display:flex}.search-controls button{flex:none;padding:0 12px}.add button{flex:none;padding:0 18px}.error{color:var(--ng);margin:8px 0 0;font-size:13px}.empty{color:var(--sub);margin:4px 0;font-size:13px}.tobuy{color:var(--warn)}.items{margin:0;padding:0;list-style:none}.item{border-top:1px solid var(--line);padding:10px 0}.card h2+.items .item:first-child,.card .empty+.items .item:first-child{border-top:none}.shop{margin:4px 0 8px;display:flex}button.ghost.on{background:var(--green);color:#fff}.shop-hint{color:var(--warn);margin:0 0 4px;font-size:13px}.card .shop+.items .item:first-child,.card .shop-hint+.items .item:first-child{border-top:none}.item-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.rename{margin-bottom:10px}.rename label{color:var(--sub);gap:4px;font-size:13px;display:grid}.item-name{word-break:break-all;flex:1;font-size:16px;font-weight:600}button.link{min-height:32px;color:var(--sub);background:0 0;flex:none;padding:0 6px;font-size:13px;font-weight:400}.levels{gap:6px;display:flex}button.level{min-height:40px;color:var(--sub);background:#f1efe8;font-size:14px}button.level.on.level-enough{background:var(--good);color:#fff}button.level.on.level-low{color:#fff;background:#d98a00}button.level.on.level-out{background:var(--ng);color:#fff}.diag{margin:4px 0 14px}.diag summary{cursor:pointer;color:var(--sub);padding:10px 2px;font-size:13px}.diag[open] summary{margin-bottom:6px}.hint{color:var(--sub);margin:4px 0 8px;font-size:13px;line-height:1.5}.hint.remind{color:var(--warn)}.hint.remind button.link{color:var(--warn);text-decoration:underline}.note{color:var(--good);margin:8px 0 0;font-size:13px;line-height:1.5}.panel{border:1px solid var(--line);background:#fbfaf6;border-radius:12px;margin-top:12px;padding:12px}.panel-title{word-break:break-all;margin:0 0 6px;font-size:14px;font-weight:700}.reasons{color:var(--sub);margin:2px 0 6px;padding-left:18px;font-size:12px;line-height:1.5}
