*,:before,:after{box-sizing:border-box}:root{--bg:#0d1117;--surface:#161b22;--border:#30363d;--accent:#58a6ff;--accent-dim:#1f6feb33;--text:#c9d1d9;--text-muted:#8b949e;--danger:#f85149;--danger-dim:#f8514922;--star:#e3b341;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace;font:14px/1.6 var(--font-mono);color:var(--text);background:var(--bg)}body{margin:0}#root{max-width:860px;margin:0 auto;padding:32px 24px}a{color:var(--accent)}h1{letter-spacing:-.5px;color:var(--accent);margin:0 0 4px;font-size:20px;font-weight:600}h2{color:var(--text-muted);margin:24px 0 8px;font-size:13px;font-weight:400}.error{color:var(--danger)}form{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:16px;padding:24px;display:flex}label,.field{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;font-weight:400;display:flex}input,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px;transition:border-color .15s}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}button{font:inherit;cursor:pointer;border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:4px;padding:4px 12px;font-size:11px;transition:border-color .15s,color .15s}button:hover{border-color:var(--accent);color:var(--accent)}button[type=submit]{background:var(--accent);color:var(--bg);border:none;border-radius:6px;padding:10px 20px;font-size:13px;font-weight:600;transition:opacity .15s,transform .1s}button[type=submit]:hover{opacity:.88;color:var(--bg)}button[type=submit]:active{transform:scale(.97)}.btn-delete:hover,.btn-remove:hover{background:var(--danger-dim);border-color:var(--danger);color:var(--danger)}fieldset{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:16px;display:flex}legend{color:var(--text-muted);padding:0 4px;font-size:12px}.list-row{gap:8px;display:flex}.list-row input{flex:1}.star-rating{color:var(--text-muted);letter-spacing:2px;font-size:20px}.star-rating .filled{color:var(--star)}.recipe-list-page header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;display:flex}.recipe-list-page header a{border:1px solid var(--border);color:var(--text-muted);border-radius:4px;align-items:center;padding:4px 12px;font-size:11px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.recipe-list-page header a:hover{border-color:var(--accent);color:var(--accent)}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.recipe-card{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:8px;padding:16px;text-decoration:none;transition:border-color .15s;display:block}.recipe-card:hover{border-color:var(--accent)}.recipe-card h3{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;margin:0 0 8px;font-size:13px;font-weight:600;overflow:hidden}.actions{gap:8px;margin-top:24px;display:flex}.actions a{border:1px solid var(--border);color:var(--text-muted);border-radius:4px;align-items:center;padding:4px 12px;font-size:11px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.actions a:hover{border-color:var(--accent);color:var(--accent)}
