:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0c0c0e;--surface: #161618;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--text: #e8e8ed;--text-dim: rgba(255, 255, 255, .5);--accent: #a78bfa;--accent-dim: rgba(167, 139, 250, .12);--high: #f87171;--medium: #fbbf24;--low: #34d399;--radius: .5rem}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{max-width:52rem;margin:0 auto;padding:2rem 1.5rem 4rem}.header{margin-bottom:1.5rem}.header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}h1{font-size:1.6rem;font-weight:700;letter-spacing:-.03em}.subtitle{color:var(--text-dim);font-size:.85rem;margin-top:.15rem}.form{margin-top:1.25rem;display:flex;flex-direction:column;gap:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.form-row{display:flex;gap:.6rem}.form-row>.input{flex:1}.input-price{max-width:7rem}.input{font-family:inherit;font-size:.85rem;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .75rem;outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:2.5rem}select.input{cursor:pointer}.btn{font-family:inherit;font-size:.8rem;font-weight:600;border:none;border-radius:var(--radius);padding:.55rem 1.1rem;cursor:pointer;transition:opacity .15s;white-space:nowrap}.btn:hover{opacity:.85}.btn-primary{background:var(--accent);color:#0c0c0e}.btn-icon{background:none;border:none;color:var(--text-dim);font-size:1.3rem;cursor:pointer;padding:0 .25rem;line-height:1;transition:color .15s;flex-shrink:0}.btn-icon:hover{color:var(--high)}.filters{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.search{width:100%}.category-pills{display:flex;flex-wrap:wrap;gap:.35rem}.pill{font-family:inherit;font-size:.7rem;font-weight:500;background:var(--surface);color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:.3rem .7rem;cursor:pointer;transition:all .15s}.pill:hover{border-color:var(--border-hover);color:var(--text)}.pill-active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.stats{display:flex;gap:1.5rem;font-size:.75rem;color:var(--text-dim);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.diary{display:flex;flex-direction:column;gap:1.75rem}.day-section{display:flex;flex-direction:column;gap:.5rem}.day-header{display:flex;justify-content:space-between;align-items:baseline}.day-date{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.day-count{font-size:.7rem;color:var(--text-dim)}.entry{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;transition:border-color .15s}.entry:hover{border-color:var(--border-hover)}.entry-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.entry-main{display:flex;flex-direction:column;gap:.4rem;min-width:0}.entry-title{font-size:.95rem;font-weight:600;letter-spacing:-.01em;word-break:break-word}.entry-meta{display:flex;flex-wrap:wrap;gap:.35rem}.tag{display:inline-block;font-size:.65rem;font-weight:500;letter-spacing:.02em;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.tag-cat{color:var(--accent);border-color:#a78bfa40;background:var(--accent-dim)}.tag-high{color:var(--high);border-color:#f8717140;background:#f871711a}.tag-medium{color:var(--medium);border-color:#fbbf2440;background:#fbbf241a}.tag-low{color:var(--low);border-color:#34d39940;background:#34d3991a}.tag-price{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.entry-note{margin-top:.5rem;font-size:.8rem;color:var(--text-dim);line-height:1.55;word-break:break-word}.empty{text-align:center;padding:3rem 1rem;color:var(--text-dim);font-size:.9rem}@media(max-width:600px){.app{padding:1.25rem 1rem 3rem}.header-top,.form-row{flex-direction:column}.input-price{max-width:none}}
