*,: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;--warning:#d29922;--warning-dim:#d2992222;--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}.shopping-selection,.recipe-selection,.shopping-items label{flex-direction:row;align-items:center;gap:10px;display:flex}.shopping-selection{flex-wrap:wrap;margin-bottom:16px}.recipe-selection{margin-bottom:8px}.shopping-items,.shopping-lists{padding:0;list-style:none}.shopping-items li,.shopping-lists li{border-bottom:1px solid var(--border);padding:12px}.shopping-items .checked span{text-decoration:line-through}input[type=checkbox]{accent-color:var(--accent)}button:disabled{opacity:.5;cursor:default}#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,select{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}select{cursor:pointer}input:focus,textarea:focus,select: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,.list-row textarea{flex:1}.import-tabs{gap:8px;display:flex}.import-tabs .active{border-color:var(--accent);color:var(--accent)}.difficulty-select{gap:8px;display:flex}.star-rating{color:var(--text-muted);letter-spacing:2px;font-size:20px}.star-rating .filled{color:var(--star)}.difficulty-badge{border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.difficulty-badge.difficulty-easy{background:var(--accent-dim);color:var(--accent)}.difficulty-badge.difficulty-medium{background:var(--warning-dim);color:var(--warning)}.difficulty-badge.difficulty-hard{background:var(--danger-dim);color:var(--danger)}.difficulty-select button.difficulty-easy.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent);font-weight:600}.difficulty-select button.difficulty-medium.active{background:var(--warning-dim);color:var(--warning);border-color:var(--warning);font-weight:600}.difficulty-select button.difficulty-hard.active{background:var(--danger-dim);color:var(--danger);border-color:var(--danger);font-weight:600}.difficulty-select button.difficulty-easy:hover{border-color:var(--accent);color:var(--accent)}.difficulty-select button.difficulty-medium:hover{border-color:var(--warning);color:var(--warning)}.difficulty-select button.difficulty-hard:hover{border-color:var(--danger);color:var(--danger)}.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-filters{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.recipe-filters input{flex:1;min-width:160px}.recipe-filters select{min-width:0}.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)}
