.reactEasyCrop_Container{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;cursor:move;display:flex;justify-content:center;align-items:center}.reactEasyCrop_Image,.reactEasyCrop_Video{will-change:transform}.reactEasyCrop_Contain{max-width:100%;max-height:100%;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0}.reactEasyCrop_Cover_Horizontal{width:100%;height:auto}.reactEasyCrop_Cover_Vertical{width:auto;height:100%}.reactEasyCrop_CropArea{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.5);box-sizing:border-box;box-shadow:0 0 0 9999em;color:#00000080;overflow:hidden}.reactEasyCrop_CropAreaRound{border-radius:50%}.reactEasyCrop_CropAreaGrid:before{content:" ";box-sizing:border-box;position:absolute;border:1px solid rgba(255,255,255,.5);top:0;bottom:0;left:33.33%;right:33.33%;border-top:0;border-bottom:0}.reactEasyCrop_CropAreaGrid:after{content:" ";box-sizing:border-box;position:absolute;border:1px solid rgba(255,255,255,.5);top:33.33%;bottom:33.33%;left:0;right:0;border-left:0;border-right:0}:root{--bg: #f6f6f8;--surface: #ffffff;--text: #17181c;--muted: #6c7078;--border: #e3e4e9;--accent: #2f6f4f;--accent-contrast: #ffffff;--danger: #b3261e;--radius: 14px;--shadow: 0 1px 3px rgba(0, 0, 0, .07)}@media (prefers-color-scheme: dark){:root{--bg: #14161b;--surface: #1e2128;--text: #eceef2;--muted: #9aa0aa;--border: #2c303a;--accent: #58b78a;--accent-contrast: #10231a;--danger: #f2b8b5;--shadow: 0 1px 3px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.app{min-height:100dvh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:calc(env(safe-area-inset-top) + 14px) 16px 10px;border-bottom:1px solid var(--border)}.header-actions{display:flex;align-items:center;gap:12px}.header-link{background:none;border:none;padding:0;color:var(--accent);font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.login-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px calc(env(safe-area-inset-bottom) + 24px)}.login-panel{width:100%;max-width:380px}.login-title{margin:0;font-size:26px;letter-spacing:-.02em}.app-logo{font-size:20px;font-weight:700;letter-spacing:-.02em}.app-main{flex:1;padding-bottom:calc(env(safe-area-inset-bottom) + 76px)}.page{max-width:760px;margin:0 auto;padding:14px 16px 24px;display:flex;flex-direction:column;gap:14px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;text-decoration:none;color:var(--muted);font-size:11px}.tab-active{color:var(--accent);font-weight:600}.tab-icon{font-size:20px;line-height:1}.search,.text-input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:16px}.search:focus,.text-input:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea.text-input{resize:vertical;font-family:inherit}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer}.chip-active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.chip-static{cursor:default}.chip-count{font-size:12px;opacity:.75}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow);display:flex;flex-direction:column}.card-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--border)}.card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px}.card-title{font-weight:600;font-size:15px;line-height:1.25}.card-meta{font-size:12px;color:var(--muted)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.list-item{display:flex;align-items:center;gap:12px;padding:13px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;box-shadow:var(--shadow)}.list-main{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.list-title{font-weight:600;font-size:15px}.list-meta{font-size:13px;color:var(--muted)}.list-badge{flex:0 0 auto;font-size:12px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);padding:4px 9px;border-radius:999px;font-weight:600}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.panel-title{margin:0;font-size:17px}.panel-hint{margin:0;font-size:14px;color:var(--muted);line-height:1.4}.file-button{display:inline-block;text-align:center;padding:12px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--accent);font-weight:600;cursor:pointer}.file-button input{display:none}.preview{width:100%;max-height:260px;object-fit:contain;border-radius:var(--radius);background:var(--bg)}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.preview-cell{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--border)}.preview-cell img{width:100%;height:100%;object-fit:cover}.preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0000009e;color:#fff;font-size:12px;line-height:1;cursor:pointer}.primary,.secondary,.danger{padding:12px 16px;border-radius:var(--radius);font-size:15px;font-weight:600;border:1px solid transparent;cursor:pointer}.primary{background:var(--accent);color:var(--accent-contrast)}.primary:disabled{opacity:.5;cursor:not-allowed}.secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.button-row{display:flex;gap:10px;flex-wrap:wrap}.detail-image{width:100%;max-height:320px;object-fit:cover;border-radius:var(--radius);background:var(--border)}.detail-title{margin:0;font-size:24px;line-height:1.2}.detail-description{margin:0;line-height:1.5;color:var(--text)}.detail-section{display:flex;flex-direction:column;gap:9px}.section-title{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.facts{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:15px}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}.fact-row{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:13px;background:var(--surface);border:1px solid var(--border);padding:5px 11px;border-radius:999px}.badge-link{color:var(--accent);font-weight:600;text-decoration:none}.ingredients,.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px;line-height:1.45}.edit-form{display:flex;flex-direction:column;gap:10px}.field-label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.file-button.secondary{display:inline-block;text-align:center}.cropper-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#06080cd1;display:flex;align-items:center;justify-content:center;padding:16px}.cropper-dialog{width:100%;max-width:560px;background:var(--surface);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.cropper-area{position:relative;width:100%;height:52vh;max-height:420px;background:#000}.cropper-controls{padding:14px 16px calc(env(safe-area-inset-bottom) + 14px);display:flex;flex-direction:column;gap:12px}.cropper-zoom{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.cropper-zoom input{flex:1}.spinner-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 0}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-message{font-size:14px;color:var(--muted)}.empty{text-align:center;padding:44px 16px;color:var(--muted)}.empty-title{margin:0 0 6px;font-weight:600;color:var(--text)}.empty-hint{margin:0;font-size:14px;line-height:1.5}.error{margin:0;padding:11px 14px;border-radius:var(--radius);background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);font-size:14px;line-height:1.4;overflow-wrap:anywhere}.muted{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
