:root{--green: #4f8a3c;--bg: #f4f7ee;--text: #25301f;--muted: #6b7762;--danger: #b3261e;--ink: #2f3a2a;--wall: #f3e7d3;--shelf: #a9744f;--shelf-dark: #7a5236}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif}main{max-width:480px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}h1,h2{margin:0}h1{font-size:22px}h2{font-size:17px;margin-top:8px}p{margin:0}.muted,.empty{color:var(--muted)}.error{color:var(--danger)}.banner{padding:8px 16px;background:#fde8e6}.button{display:block;padding:12px;border:3px solid var(--ink);border-radius:4px;background:var(--green);box-shadow:0 4px 0 var(--ink);color:#fff;font-size:16px;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.button.secondary{background:#fff;color:var(--ink)}.button:disabled{opacity:.4;cursor:default}.panel{padding:12px;border:3px solid var(--ink);border-radius:4px;background:#fff;box-shadow:0 4px 0 var(--ink)}.photo-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.link{color:var(--muted);text-align:center}.badge{margin-left:6px;padding:2px 8px;border:2px solid var(--ink);border-radius:4px;background:#ffe08a;color:#5b4300;font-size:13px}.field{display:flex;flex-direction:column;gap:4px}.field input,.field select{padding:12px;border:3px solid var(--ink);border-radius:4px;background:#fff;font-size:16px}.logs,.tasks{margin:0;padding:0;list-style:none}.logs li{padding:6px 0;border-bottom:1px solid #e3e9da}.tasks{display:flex;flex-direction:column;gap:8px}.tasks .button{width:100%}.preview{display:flex;justify-content:space-around;align-items:flex-end}.preview figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:4px}.preview figcaption{color:var(--muted);font-size:13px}.debug-panel{position:fixed;left:0;right:0;bottom:0;max-height:40vh;overflow:auto;padding:8px;background:#000000d9;color:#b8f5a0;font:11px/1.4 ui-monospace,monospace}.debug-panel pre{margin:6px 0 0;white-space:pre-wrap;word-break:break-all}.plant-sprite{display:block;overflow:visible}.plant-sprite .breathe{transform-box:fill-box;transform-origin:50% 100%;animation:breathe 2.4s ease-in-out infinite}.plant-sprite .blink{opacity:0;animation:blink 4s steps(1,end) infinite}.plant-sprite.pop-in{animation:pop-in .6s ease-out}.plant-sprite.bounce{animation:bounce .5s ease-out}.plant-sprite.sparkle{animation:sparkle .8s ease-out}@keyframes breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.05) translateY(-1px)}}@keyframes blink{0%,94%{opacity:0}95%,98%{opacity:1}}@keyframes pop-in{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}}@keyframes sparkle{0%{filter:brightness(1.8)}to{filter:brightness(1)}}@media(prefers-reduced-motion:reduce){.plant-sprite,.plant-sprite .breathe,.plant-sprite .blink{animation:none}}.garden.with-sheet{padding-bottom:190px}.room{position:relative;padding:12px 8px 4px;border:3px solid var(--ink);border-radius:4px;background:var(--wall);box-shadow:0 4px 0 var(--ink)}.room.sky-night{background:#d9cbb3}.window{width:132px;height:84px;margin:0 auto 8px;padding:6px;border:3px solid var(--ink);border-radius:4px;background:#fff}.sky{height:100%;border:2px solid var(--ink);background:#8fd3ff}.sky-morning .sky{background:linear-gradient(#ffd9a8,#bfe3ff)}.sky-evening .sky{background:linear-gradient(#ff9f7a,#6b5b95)}.sky-night .sky{background:radial-gradient(#fff 1px,transparent 1.5px) 3px 4px / 17px 13px,#1d2a4d}.garden-empty{text-align:center;color:var(--muted)}.shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;margin:0 0 40px;padding-top:30px;border-bottom:10px solid var(--shelf);box-shadow:0 6px 0 var(--shelf-dark)}.slot{position:relative;display:flex;justify-content:center;align-items:flex-end;min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:none;cursor:pointer}.slot.selected .name-tag{background:#ffe08a}.name-tag{position:absolute;top:calc(100% + 18px);left:4px;right:4px;overflow:hidden;padding:1px 4px;border:2px solid var(--ink);border-radius:3px;background:#fff;font-size:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.add-slot span{display:flex;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:4px;border:3px dashed var(--shelf-dark);border-radius:4px;color:var(--shelf-dark);font-size:32px;font-weight:700}.bubble{position:absolute;bottom:calc(100% - 4px);left:50%;z-index:1;width:max-content;max-width:150px;padding:4px 8px;border:2px solid var(--ink);border-radius:6px;background:#fff;font-size:12px;line-height:1.3;transform:translate(-50%)}.bubble.hint{padding:0 4px;font-size:13px}.sheet{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:2;width:min(448px,calc(100% - 24px));display:flex;flex-direction:column;gap:8px;transform:translate(-50%)}.sheet-head{display:flex;align-items:baseline;gap:8px;min-width:0}.sheet-name{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.sheet-close{margin-left:auto;padding:0 4px;border:0;background:none;font-size:22px;line-height:1;cursor:pointer}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.back{text-align:left}.detail-hero{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--wall)}.speech{padding:6px 10px;border:2px solid var(--ink);border-radius:6px;background:#fff;font-size:14px}.growth{display:flex;align-items:center;gap:10px}.growth-bar{display:flex;gap:3px}.growth-bar span{width:22px;height:14px;border:2px solid var(--ink);background:#fff}.growth-bar span.on{background:var(--green)}.first-photo{display:flex;align-items:center;gap:10px;margin:0;color:var(--muted);font-size:13px}.first-photo img{border:3px solid var(--ink);border-radius:4px}.water-result .plant-sprite{align-self:center}.button.small{display:inline-block;padding:6px 10px;border-width:2px;box-shadow:0 3px 0 var(--ink);font-size:14px}.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}.plain{padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.plant-sprite.center{align-self:center}.pet-note{padding:8px 10px;border:2px dashed var(--ink);border-radius:4px;background:#fff7e0;font-size:14px}.pet-note .muted{font-size:12px}.copy-box{display:flex;flex-direction:column;gap:8px}.copy-box textarea{width:100%;padding:10px;border:3px solid var(--ink);border-radius:4px;background:#fff;font-family:inherit;font-size:14px;line-height:1.5;resize:vertical}.notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:2px solid var(--ink);border-radius:4px;background:#fff;font-size:14px}.garden-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.garden-tools .button.small{display:block}.recheck{display:flex;flex-direction:column;gap:8px}.photo-compare,.album{display:flex;flex-wrap:wrap;gap:12px}.photo-compare figure,.album figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);font-size:12px}.photo-compare img,.album img,.journal-preview{border:3px solid var(--ink);border-radius:4px;object-fit:cover}.journal-preview{align-self:center}.photo-delete{padding:0;border:0;background:none;color:var(--muted);font-size:12px;text-decoration:underline;cursor:pointer}.brag{display:flex;flex-direction:column;gap:8px}.brag img{width:100%;height:auto}.symptom ul{margin:4px 0 8px;padding-left:20px}.symptom h2{margin:0 0 6px}.today-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.today-list li{display:flex;align-items:center;gap:10px}.today-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soil-toggle{display:flex;gap:6px}.custom-fields{display:flex;flex-direction:column;gap:10px}
