:root{--bg:#f5f5f7;--card:#fff;--text-1:#1a1a1a;--text-2:#8e8e93;--text-3:#c7c7cc;--accent:#34c759;--accent-light:#e8f8ec;--accent-dark:#1b8a3e;--border:#e5e5ea;--shadow:0 1px 8px #0000000f;--r:14px;--r-sm:10px;--font:"Pretendard",-apple-system,BlinkMacSystemFont,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;max-width:430px;min-height:100vh;margin:0 auto;padding-bottom:80px;position:relative}.top-nav{z-index:100;background:var(--card);border-bottom:1px solid var(--border);padding:12px 20px;position:sticky;top:0}.brand-tabs{gap:8px;display:flex}.brand-tab{border:1.5px solid var(--border);background:var(--card);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;flex-shrink:0;padding:8px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.brand-tab.active{background:var(--text-1);color:#fff;border-color:var(--text-1)}.page-header{padding:24px 20px 8px}.page-header h1{letter-spacing:-.5px;font-size:26px;font-weight:800}.page-header .sub{color:var(--text-2);margin-top:4px;font-size:14px}.page-header .tag{color:var(--text-3);background:var(--bg);border:1px solid var(--border);border-radius:6px;margin-top:8px;padding:2px 8px;font-size:11px;display:inline-block}.cat-bar{z-index:90;background:var(--bg);padding:16px 20px 8px;position:sticky;top:49px}.cat-pills{scrollbar-width:none;-ms-overflow-style:none;gap:8px;display:flex;overflow-x:auto}.cat-pills::-webkit-scrollbar{display:none}.cat-pill{background:var(--card);border:1px solid var(--border);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.cat-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sel-area{margin-bottom:4px;padding:0 20px}.sel-label{color:var(--text-2);margin-bottom:8px;font-size:12px;font-weight:500}.sel-chips{flex-wrap:wrap;gap:8px;display:flex}.sel-chip{background:var(--accent-light);color:var(--accent-dark);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;animation:.2s chipIn;display:inline-flex}.sel-chip .x{cursor:pointer;width:18px;height:18px;color:var(--text-2);font-size:11px;font-weight:400;font-family:var(--font);background:#00000014;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}@keyframes chipIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.menu-section{padding:12px 20px 0}.sec-title{align-items:center;gap:6px;margin-bottom:12px;font-size:16px;font-weight:700;display:flex}.sec-title .icon{font-size:18px}.menu-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.menu-card{background:var(--card);border-radius:var(--r-sm);border:1.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;padding:14px;transition:all .15s}.menu-card:active{transform:scale(.97)}.menu-card.selected{border-color:var(--accent);background:var(--accent-light)}.menu-card .name{color:var(--text-1);margin-bottom:6px;font-size:14px;font-weight:600;line-height:1.35}.menu-card .kcal{color:var(--accent-dark);font-size:13px;font-weight:700}.menu-card .detail{color:var(--text-2);margin-top:2px;font-size:11px}.bot-bar{background:var(--card);border-top:1px solid var(--border);width:100%;max-width:430px;padding:12px 20px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:100;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bot-bar .info .lbl{color:var(--text-2);font-size:12px}.bot-bar .info .val{letter-spacing:-.5px;font-size:22px;font-weight:800}.bot-bar .info .val .unit{color:var(--text-2);font-size:14px;font-weight:600}.cta{background:var(--text-1);color:#fff;cursor:pointer;font-size:15px;font-weight:700;font-family:var(--font);border:none;border-radius:12px;padding:14px 24px;transition:opacity .2s}.cta:active{opacity:.7}.overlay{z-index:200;opacity:0;pointer-events:none;background:#00000073;justify-content:center;align-items:flex-end;transition:opacity .25s;display:flex;position:fixed;inset:0}.overlay.open{opacity:1;pointer-events:auto}.sheet{background:var(--card);width:100%;max-width:430px;padding:20px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;max-height:85vh;transition:transform .3s cubic-bezier(.32,.72,0,1);overflow-y:auto;transform:translateY(100%)}.overlay.open .sheet{transform:translateY(0)}.handle{background:var(--text-3);border-radius:2px;width:40px;height:4px;margin:0 auto 20px}.sheet h2{text-align:center;margin-bottom:6px;font-size:20px;font-weight:800}.sheet .sheet-sub{color:var(--text-2);text-align:center;margin-bottom:20px;font-size:13px}.sheet .sheet-items{color:var(--text-2);text-align:center;margin-bottom:20px;font-size:13px;line-height:1.6}.n-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.n-row:last-of-type{border-bottom:none}.n-row .n-lbl{color:var(--text-2);font-size:15px}.n-row .n-val{font-size:17px;font-weight:700}.n-row.hi .n-val{color:var(--accent);font-size:22px;font-weight:800}.n-row.hi .n-lbl{color:var(--text-1);font-size:16px;font-weight:600}.share-row{gap:10px;margin-top:20px;display:flex}.share-row button{cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);border:none;border-radius:12px;flex:1;padding:14px}.share-row .btn-p{background:var(--text-1);color:#fff}.share-row .btn-s{background:var(--bg);color:var(--text-1)}.capture-area{background:#fff;border-radius:16px;padding:24px}.capture-footer{text-align:center;color:var(--text-3);border-top:1px solid var(--border);margin-top:16px;padding-top:12px;font-size:11px}.tip-card{border-radius:var(--r);background:linear-gradient(135deg,#f0fff4,#e8f8ec);border:1px solid #d4edda;margin:8px 20px 24px;padding:18px}.tip-card .tip-t{color:var(--accent-dark);margin-bottom:6px;font-size:13px;font-weight:700}.tip-card .tip-b{color:var(--text-2);font-size:12px;line-height:1.5}.top-nav{justify-content:space-between;align-items:center;display:flex}.grass-link{border-radius:8px;padding:4px 8px;font-size:22px;text-decoration:none;transition:background .2s}.grass-link:active{background:var(--bg)}.plant-summary{text-align:center;color:var(--text-1);margin-bottom:4px;font-size:14px;font-weight:600;line-height:1.6}.plant-kcal{color:var(--accent-dark);margin-top:2px;font-size:13px;font-weight:700;display:block}.plant-form{flex-direction:column;gap:6px;margin:16px 0;display:flex}.plant-label{color:var(--text-2);font-size:12px;font-weight:500}.plant-opt{color:var(--text-3)}.plant-input{border:1.5px solid var(--border);font-size:15px;font-family:var(--font);background:var(--bg);border-radius:10px;outline:none;padding:12px 14px;transition:border-color .2s}.plant-input:focus{border-color:var(--accent)}.share-row.three{gap:8px;display:flex}.btn-plant{cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);background:var(--accent);color:#fff;border:none;border-radius:12px;flex:1;padding:14px}.btn-plant:active{opacity:.8}.grass-page{background:#1a1a2e;max-width:430px;min-height:100vh;margin:0 auto;padding-bottom:40px}.grass-header{z-index:10;background:#1a1a2e;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0}.grass-back{color:#9be9a8;min-width:70px;font-size:14px;font-weight:600;text-decoration:none}.grass-title{color:#fff;text-align:center;font-size:18px;font-weight:800}.grass-spacer{min-width:70px}.grass-stats{color:#8e8e93;justify-content:center;align-items:center;gap:4px;padding:0 20px 12px;font-size:13px;display:flex}.grass-stats strong{color:#9be9a8;font-weight:700}.grass-stats-dot{color:#555}.grass-legend{justify-content:center;align-items:center;gap:4px;padding:0 20px 16px;display:flex}.grass-legend-label{color:#666;font-size:11px}.grass-legend-block{border-radius:3px;width:14px;height:14px}.grass-grid{grid-template-columns:repeat(7,1fr);gap:5px;max-width:430px;margin:0 auto;padding:0 16px;display:grid}.grass-cell{aspect-ratio:1;cursor:default;border-radius:4px;transition:transform .15s;position:relative}.grass-cell.planted{cursor:pointer;box-shadow:inset 0 -3px #00000040,inset 0 1px #ffffff26}.grass-cell.planted:active{transform:scale(.92)}.grass-cell.planted.active{z-index:5;transform:scale(1.1);box-shadow:0 0 0 2px #fff,inset 0 -3px #00000040}.grass-cell.dirt{background:#2d2d44;box-shadow:inset 0 -2px #00000026}.grass-cat{animation:2.5s ease-in-out infinite catIdle;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}@keyframes catIdle{0%,to{transform:translate(-50%,-55%)}50%{transform:translate(-50%,-60%)}}.grass-cell.just-planted{animation:.5s cubic-bezier(.34,1.56,.64,1) plantDrop}@keyframes plantDrop{0%{opacity:0;transform:scale(0)translateY(-20px)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)translateY(0)}}.grass-bubble-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.grass-bubble{background:#fff;border-radius:16px;width:100%;max-width:320px;padding:20px 24px;animation:.25s cubic-bezier(.34,1.56,.64,1) bubblePop;box-shadow:0 8px 32px #0003}.grass-bubble-nick{color:var(--text-1);align-items:center;gap:6px;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.grass-bubble-brand{color:var(--text-2);background:var(--bg);border-radius:6px;margin-left:auto;padding:2px 6px;font-size:11px;font-weight:500}.grass-bubble-menu{color:var(--text-1);margin-bottom:6px;font-size:14px;font-weight:600;line-height:1.5}.grass-bubble-kcal{color:var(--accent-dark);margin-bottom:6px;font-size:15px;font-weight:700}.grass-bubble-comment{color:var(--text-2);font-size:13px;font-style:italic}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bubblePop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.grass-empty{text-align:center;color:#666;padding:60px 20px;font-size:14px;line-height:1.8}::-webkit-scrollbar{width:0;height:0}
