:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0c0f;--surface:#17171c;--surface-2:#202027;--border:#2e2e38;--text:#ececf1;--muted:#9494a2;--accent:#cf8fb4;--accent-weak:#2a1b25;--hl:#ffc857;--hl-bg:#ffc85724;--danger:#ff6b5e;--ok:#3fc27f;--on-accent:#1a1016}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,Hiragino Sans,Meiryo,sans-serif}.container{max-width:720px;margin:0 auto;padding:0 16px 48px}.header{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:0;padding:20px 0;display:flex;position:sticky;top:0}main{padding-top:24px;display:block}.logo{color:var(--accent);font-size:20px;font-weight:700;text-decoration:none}.admin-link{color:var(--muted);font-size:13px;text-decoration:none}.admin-link:hover{color:var(--accent)}.search-sticky{top:var(--header-h,65px);z-index:10;background:var(--bg);padding:12px 0 4px;position:sticky}.search-form{gap:8px;margin:0 0 12px;display:flex}.search-input{color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex:1;padding:10px 12px;font-size:16px}.search-input::placeholder{color:var(--muted)}.search-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn{color:var(--on-accent);background:var(--accent);cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:15px;font-weight:600}.btn:hover{filter:brightness(1.1)}.btn-mic{width:44px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:none;font-size:17px;line-height:1}.btn-mic:hover{border-color:var(--accent)}.btn-mic.listening{color:var(--on-accent);background:var(--hl);border-color:var(--hl);animation:1.2s ease-in-out infinite mic-pulse}@keyframes mic-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.btn-mic.listening{animation:none}}.btn-sm{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:13px}.btn-sm:hover{background:var(--accent-weak)}.btn-danger{color:var(--on-accent);background:var(--danger);cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:15px;font-weight:600}.btn-danger-sm{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:12px}.muted{color:var(--muted);font-size:14px}.error{color:var(--danger)}.center{text-align:center}.hint{color:var(--muted);margin:-4px 0 0;font-size:12px}.back{color:var(--accent);font-size:14px;text-decoration:none}.link{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:14px}.link:hover{color:var(--accent)}.spacer{flex:1}.sort-bar{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;display:flex}.chip{color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:13px}.chip:hover{border-color:var(--accent)}.chip.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.hit-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px}.cocktail-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:16px}.cc-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cc-no{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex:none;padding:2px 9px;font-size:12px}.cc-no-total{opacity:.6}.cc-name{color:var(--text);margin:0;font-size:19px}.cc-cat{color:var(--on-accent);background:var(--accent);border-radius:999px;padding:2px 10px;font-size:12px}.cc-body{align-items:flex-start;gap:16px;margin:12px 0;display:flex}.cc-meta{flex:auto;grid-template-columns:max-content 1fr;gap:2px 14px;min-width:0;margin:0;display:grid}.cc-images{flex:0 auto;gap:8px;max-width:45%;margin:0;display:flex;overflow-x:auto}.cc-thumb{flex:0 0 var(--thumb);width:var(--thumb);height:var(--thumb);cursor:zoom-in;background:0 0;border:none;border-radius:8px;padding:0;line-height:0}.cc-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cc-images img{object-fit:contain;border-radius:8px;width:100%;height:100%;display:block}.lightbox{z-index:100;cursor:zoom-out;background:#000000e6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.lightbox-hint{color:var(--muted);font-size:12px;position:absolute;bottom:16px}:root{--thumb:128px}@media (width<=480px){:root{--thumb:96px}}@media (width<=360px){.cc-body{flex-direction:column}.cc-images{max-width:100%}}.cc-meta dt{color:var(--muted);font-size:13px}.cc-meta dd{margin:0;font-size:14px}.cc-sec{margin:12px 0}.cc-sec h3{color:var(--accent);margin:0 0 6px;font-size:14px}.cc-ing{margin:0;padding:0;list-style:none}.cc-ing li{border-bottom:1px dashed var(--border);justify-content:space-between;padding:4px 0;font-size:14px;display:flex}.cc-steps{margin:0;padding-left:20px;font-size:14px;line-height:1.7}.cc-desc{color:var(--muted);font-size:14px;line-height:1.7}.cc-actions{gap:6px;margin-left:auto;display:flex}mark.hl{background:var(--hl-bg);color:var(--hl);border-radius:3px;padding:0 2px;font-weight:700}.cc-cat mark.hl{color:var(--on-accent);text-underline-offset:2px;background:0 0;padding:0;text-decoration:underline;text-decoration-thickness:2px}.admin-bar{background:var(--accent-weak);border:1px solid var(--accent);border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.admin-nav{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:20px;padding:12px 0;display:flex}.admin-nav a{color:var(--text);font-size:15px;text-decoration:none}.admin-nav a.active{color:var(--accent);font-weight:700}.admin-login{max-width:360px;margin:40px auto}.form{flex-direction:column;gap:12px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.form input,.form select,.form textarea{color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:15px}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.form input:disabled{background:var(--surface);color:var(--muted)}.form .checkbox{flex-direction:row;align-items:center;gap:8px}.form .checkbox input{width:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.admin-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:24px;display:grid}@media (width<=680px){.admin-grid{grid-template-columns:1fr}}.admin-list{margin:0;padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 4px;display:flex}.admin-list li.active{background:var(--accent-weak)}.row-between{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ing-editor{border:1px dashed var(--border);border-radius:8px;padding:12px}.ing-row{align-items:center;gap:6px;margin-top:6px;display:flex}.ing-row input{flex:1}.ing-row .w-amount,.ing-row .w-unit{flex:0 0 70px}.step-no{text-align:center;color:var(--muted);flex:0 0 22px}.import-box{border:1px solid var(--accent);background:var(--accent-weak);border-radius:8px;padding:12px}.import-result{flex-direction:column;gap:6px;margin-top:8px;font-size:14px;display:flex}.import-thumb{object-fit:cover;border-radius:6px;width:90px;height:90px;margin:6px 0;display:block}.confirm-img{object-fit:cover;border-radius:8px;width:120px;height:120px;margin:8px 0}.img-thumb{flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.badge{color:var(--on-accent);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.badge.s-active{background:var(--ok)}.badge.s-inactive{background:var(--muted)}.badge.s-deleted{background:var(--danger)}.footer{border-top:1px solid var(--border);text-align:center;margin-top:40px;padding-top:12px}.build-id{letter-spacing:.04em;font-size:11px}
