@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/assets/PretendardVariable-CJuje-Rk.woff2) format("woff2-variations")}@font-face{font-family:Pretendard;font-weight:100;font-style:normal;font-display:swap;src:local("Pretendard Thin"),url(/assets/Pretendard-Thin-DWJVAZ2K.woff2) format("woff2"),url(/assets/Pretendard-Thin-Cq3km6ap.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:200;font-style:normal;font-display:swap;src:local("Pretendard ExtraLight"),url(/assets/Pretendard-ExtraLight-Bi0YRlFr.woff2) format("woff2"),url(/assets/Pretendard-ExtraLight-CmnYHmfp.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:300;font-style:normal;font-display:swap;src:local("Pretendard Light"),url(/assets/Pretendard-Light-knQmDAda.woff2) format("woff2"),url(/assets/Pretendard-Light-BSr3DBFh.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:400;font-style:normal;font-display:swap;src:local("Pretendard Regular"),url(/assets/Pretendard-Regular-BhrLQoBv.woff2) format("woff2"),url(/assets/Pretendard-Regular-D5CgADJ9.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:500;font-style:normal;font-display:swap;src:local("Pretendard Medium"),url(/assets/Pretendard-Medium-Dw2vNklR.woff2) format("woff2"),url(/assets/Pretendard-Medium-Cs2k_Pp2.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:600;font-style:normal;font-display:swap;src:local("Pretendard SemiBold"),url(/assets/Pretendard-SemiBold-ClEDdoZU.woff2) format("woff2"),url(/assets/Pretendard-SemiBold-SXfe8JY8.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:700;font-style:normal;font-display:swap;src:local("Pretendard Bold"),url(/assets/Pretendard-Bold-BYNivUXw.woff2) format("woff2"),url(/assets/Pretendard-Bold-DD7wHHNl.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:800;font-style:normal;font-display:swap;src:local("Pretendard ExtraBold"),url(/assets/Pretendard-ExtraBold-C0vVUedy.woff2) format("woff2"),url(/assets/Pretendard-ExtraBold-DkRXFB8B.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:900;font-style:normal;font-display:swap;src:local("Pretendard Black"),url(/assets/Pretendard-Black-B7X87vPW.woff2) format("woff2"),url(/assets/Pretendard-Black-CGKHU3YP.woff) format("woff")}:root{--global-scale: 1;--primary: #2c5530;--primary-light: #4a7c59;--primary-dark: #1a3d1f;--accent: #6b8e23;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e8f5e9;--bg-overlay: rgba(0, 0, 0, .5);--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #999999;--text-inverse: #ffffff;--border: #e0e0e0;--border-light: #f0f0f0;--border-dark: #d0d0d0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .15);--success: #4caf50;--warning: #ff9800;--error: #f44336;--info: #2196f3;--primary-alpha-5: rgba(44, 85, 48, .05);--primary-alpha-10: rgba(44, 85, 48, .1);--primary-alpha-20: rgba(44, 85, 48, .2);--primary-alpha-30: rgba(44, 85, 48, .3);--primary-alpha-50: rgba(44, 85, 48, .5);--success-alpha-10: rgba(76, 175, 80, .1);--border-color: var(--border);--font-family: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;--font-mono: "Courier New", monospace;--font-size-xs: calc(.75rem * var(--global-scale));--font-size-sm: calc(.875rem * var(--global-scale));--font-size-base: calc(.9375rem * var(--global-scale));--font-size-lg: calc(1.0625rem * var(--global-scale));--font-size-xl: calc(1.1875rem * var(--global-scale));--font-size-2xl: calc(1.375rem * var(--global-scale));--font-size-3xl: calc(1.875rem * var(--global-scale));--font-size-4xl: calc(2.25rem * var(--global-scale));--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-1: calc(.25rem * var(--global-scale));--spacing-2: calc(.5rem * var(--global-scale));--spacing-3: calc(.75rem * var(--global-scale));--spacing-4: calc(1rem * var(--global-scale));--spacing-5: calc(1.25rem * var(--global-scale));--spacing-6: calc(1.5rem * var(--global-scale));--spacing-8: calc(2rem * var(--global-scale));--spacing-10: calc(2.5rem * var(--global-scale));--spacing-12: calc(3rem * var(--global-scale));--spacing-16: calc(4rem * var(--global-scale));--spacing-20: calc(5rem * var(--global-scale));--sidebar-width: 280px;--header-height: 64px;--max-content-width: 1400px;--card-min-width: 250px;--card-max-width: 360px;--breakpoint-xs: 320px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--transition-fast: .15s;--transition-base: .25s;--transition-slow: .35s;--transition-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-smooth: cubic-bezier(.45, .05, .55, .95);--ease-toss: cubic-bezier(.25, .46, .45, .94);--ease-toss-in: cubic-bezier(.32, 0, .67, 0);--ease-toss-out: cubic-bezier(.33, 1, .68, 1);--radius-sm: 4px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-header: 300;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}[data-theme=dark]{--primary: #5fa667;--primary-light: #7bc783;--primary-dark: #3d7a44;--accent: #96b84a;--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #243326;--bg-overlay: rgba(0, 0, 0, .7);--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-tertiary: #808080;--text-inverse: #1a1a1a;--border: #404040;--border-light: #353535;--border-dark: #505050;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--primary-alpha-5: rgba(95, 166, 103, .05);--primary-alpha-10: rgba(95, 166, 103, .1);--primary-alpha-20: rgba(95, 166, 103, .2);--primary-alpha-30: rgba(95, 166, 103, .3);--primary-alpha-50: rgba(95, 166, 103, .5);--success-alpha-10: rgba(76, 175, 80, .1);--border-color: var(--border)}@media (prefers-color-scheme: dark){[data-theme=auto]{--primary: #5fa667;--primary-light: #7bc783;--primary-dark: #3d7a44;--accent: #96b84a;--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #243326;--bg-overlay: rgba(0, 0, 0, .7);--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-tertiary: #808080;--text-inverse: #1a1a1a;--border: #404040;--border-light: #353535;--border-dark: #505050;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--primary-alpha-5: rgba(95, 166, 103, .05);--primary-alpha-10: rgba(95, 166, 103, .1);--primary-alpha-20: rgba(95, 166, 103, .2);--primary-alpha-30: rgba(95, 166, 103, .3);--primary-alpha-50: rgba(95, 166, 103, .5);--success-alpha-10: rgba(76, 175, 80, .1);--border-color: var(--border)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.fade-in{animation:fadeIn var(--transition-base) var(--ease-out)}.fade-out{animation:fadeOut var(--transition-base) var(--ease-in)}.fade-in-up{animation:fadeInUp var(--transition-base) var(--ease-out)}.fade-in-down{animation:fadeInDown var(--transition-base) var(--ease-out)}.slide-in-left{animation:slideInLeft var(--transition-base) var(--ease-out)}.slide-in-right{animation:slideInRight var(--transition-base) var(--ease-out)}.scale-in{animation:scaleIn var(--transition-base) var(--ease-out)}.bounce-in{animation:bounceIn var(--transition-slow) var(--ease-out)}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 2s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%);background-size:1000px 100%;animation:shimmer 2s infinite linear}.transition-all{transition:all var(--transition-base) var(--ease-in-out)}.transition-colors{transition:background-color var(--transition-base) var(--ease-in-out),color var(--transition-base) var(--ease-in-out),border-color var(--transition-base) var(--ease-in-out)}.transition-transform{transition:transform var(--transition-base) var(--ease-in-out)}.transition-opacity{transition:opacity var(--transition-base) var(--ease-in-out)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.hover-scale:hover{transform:scale(1.02)}.hover-glow:hover{box-shadow:0 0 20px rgba(var(--primary),.3)}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}@keyframes revealUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleInSmooth{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-toss),transform .6s var(--ease-toss)}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal-fast]{opacity:0;transform:translateY(20px);transition:opacity .4s var(--ease-toss),transform .4s var(--ease-toss)}[data-reveal-fast].revealed{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){[data-reveal],[data-reveal-fast]{opacity:1;transform:none;transition:none}}.reveal-up{animation:revealUp .6s var(--ease-toss)}.scale-in-smooth{animation:scaleInSmooth .4s var(--ease-toss)}.fade-in-toss{animation:fadeIn .3s var(--ease-toss)}.fade-out-toss{animation:fadeOut .15s var(--ease-toss)}.header{position:sticky;top:0;z-index:var(--z-header);background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px #0000000d;transition:box-shadow var(--transition-base) var(--ease-in-out),background-color var(--transition-base) var(--ease-in-out)}.header__content{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--spacing-4);height:var(--header-height);padding:0 var(--spacing-4)}.header__left{display:flex;align-items:center;gap:var(--spacing-3)}.header__menu-toggle{display:none;padding:var(--spacing-2);background:none;border:none;cursor:pointer;color:var(--text-primary);transition:color var(--transition-fast) var(--ease-in-out)}.header__menu-toggle:hover{color:var(--primary)}.hamburger{width:24px;height:20px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.hamburger span{display:block;width:100%;height:2px;background-color:currentColor;border-radius:2px;transition:all var(--transition-base) var(--ease-in-out)}.header__menu-toggle.active .hamburger span:nth-child(1){transform:translateY(9px) rotate(45deg)}.header__menu-toggle.active .hamburger span:nth-child(2){opacity:0}.header__menu-toggle.active .hamburger span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.header__logo{display:flex;align-items:center;gap:var(--spacing-3);text-decoration:none;color:var(--text-primary);transition:opacity var(--transition-fast) var(--ease-in-out)}.header__logo:hover{opacity:.8}.header__logo-icon{font-size:2rem;line-height:1;animation:gentle-bounce 3s ease-in-out infinite}@keyframes gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.header__logo-text{display:flex;flex-direction:column;gap:2px}.header__logo-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--primary);line-height:1.2}.header__logo-subtitle{font-size:.75rem;font-weight:400;color:var(--text-secondary);line-height:1}.header__center{max-width:600px;width:100%;margin:0 auto}.header__search{position:relative;display:flex;align-items:center;gap:var(--spacing-2);padding:0 var(--spacing-3);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);transition:all var(--transition-fast) var(--ease-in-out)}.header__search:focus-within{background-color:var(--bg-primary);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha-10)}.header__search-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;transition:color var(--transition-fast) var(--ease-in-out)}.header__search:focus-within .header__search-icon{color:var(--primary)}.header__search-input{flex:1;padding:var(--spacing-2) 0;background:none;border:none;outline:none;font-size:.9375rem;color:var(--text-primary);font-family:inherit}.header__search-input::placeholder{color:var(--text-tertiary)}.header__search-input::-webkit-search-cancel-button{display:none}.header__search-clear{display:flex;align-items:center;justify-content:center;padding:var(--spacing-1);background:none;border:none;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast) var(--ease-in-out);flex-shrink:0}.header__search-clear:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.header__search-clear.hidden{display:none}.header__right{display:flex;align-items:center;gap:var(--spacing-2)}.header__icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;text-decoration:none;transition:all var(--transition-fast) var(--ease-in-out)}.header__icon-btn:hover{color:var(--primary);background-color:var(--primary-alpha-10)}.header__icon-btn:active{transform:scale(.95)}.header__favorites-count{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;background-color:var(--danger);color:#fff;font-size:.625rem;font-weight:600;border-radius:var(--radius-full);display:none;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 4px #0003;animation:badge-pop var(--transition-base) var(--ease-spring)}.header__favorites-count.visible{display:flex}@keyframes badge-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.header__theme-toggle svg{transition:transform var(--transition-base) var(--ease-in-out)}.header__theme-toggle:hover svg{transform:rotate(15deg)}.header__scale-control{position:relative}.header__scale-panel{position:absolute;top:calc(100% + var(--spacing-2));right:0;min-width:240px;padding:var(--spacing-4);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast) var(--ease-in-out);z-index:var(--z-dropdown)}.header__scale-control.active .header__scale-panel{opacity:1;visibility:visible;transform:translateY(0)}.header__scale-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.header__scale-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.header__scale-value{font-size:var(--font-size-sm);font-weight:600;color:var(--primary);font-variant-numeric:tabular-nums}.header__scale-slider{width:100%;height:6px;margin-bottom:var(--spacing-3);background:linear-gradient(to right,var(--bg-tertiary) 0%,var(--primary-alpha-20) 50%,var(--bg-tertiary) 100%);border-radius:var(--radius-full);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;transition:opacity var(--transition-fast) var(--ease-in-out)}.header__scale-slider:hover{opacity:.9}.header__scale-slider:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.header__scale-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background-color:var(--primary);border:3px solid var(--bg-primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #00000026;transition:all var(--transition-fast) var(--ease-in-out)}.header__scale-slider::-webkit-slider-thumb:hover{background-color:var(--primary-dark);transform:scale(1.1);box-shadow:0 3px 8px #0003}.header__scale-slider::-webkit-slider-thumb:active{transform:scale(.95)}.header__scale-slider::-moz-range-thumb{width:20px;height:20px;background-color:var(--primary);border:3px solid var(--bg-primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #00000026;transition:all var(--transition-fast) var(--ease-in-out)}.header__scale-slider::-moz-range-thumb:hover{background-color:var(--primary-dark);transform:scale(1.1);box-shadow:0 3px 8px #0003}.header__scale-slider::-moz-range-thumb:active{transform:scale(.95)}.header__scale-slider::-moz-range-track{width:100%;height:6px;background:transparent;border:none;border-radius:var(--radius-full)}.header__scale-reset{width:100%;padding:var(--spacing-2) var(--spacing-3);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.header__scale-reset:hover{background-color:var(--bg-tertiary);border-color:var(--primary);color:var(--primary)}.header__scale-reset:active{transform:scale(.98)}@media (max-width: 1024px){.header__content{gap:var(--spacing-3)}.header__logo-subtitle{display:none}.header__center{max-width:400px}}@media (max-width: 768px){.header__menu-toggle{display:block}.header__content{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto;padding:var(--spacing-2) var(--spacing-3);gap:var(--spacing-2)}.header__left{grid-column:1;grid-row:1;justify-content:space-between}.header__logo{order:1}.header__menu-toggle{order:0}.header__right{order:2;margin-left:auto}.header__center{grid-column:1;grid-row:2;max-width:100%}.header__logo-text{gap:0}.header__logo-title{font-size:1.125rem}.header__logo-icon{font-size:1.75rem}.header__search{padding:0 var(--spacing-2)}.header__search-input{font-size:1rem;padding:var(--spacing-2) 0}.header__icon-btn{width:36px;height:36px}.header__scale-panel{right:auto;left:50%;transform:translate(-50%) translateY(-8px);min-width:200px;max-width:calc(100% - 24px);width:90%}.header__scale-control.active .header__scale-panel{transform:translate(-50%) translateY(0)}}.header.scrolled{box-shadow:0 4px 12px #00000014}@media print{.header{position:static;box-shadow:none;border-bottom:2px solid var(--border-color)}.header__menu-toggle,.header__right,.header__search{display:none}.header__logo-subtitle{display:block}}[data-theme=dark] .header{box-shadow:0 2px 8px #0000004d}[data-theme=dark] .header.scrolled{box-shadow:0 4px 12px #00000080}.header__menu-toggle:focus-visible,.header__icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.header__search-input:focus{outline:none}@media (prefers-contrast: high){.header{border-bottom-width:2px}.header__search{border-width:2px}}@media (prefers-reduced-motion: reduce){.header,.header__logo,.header__icon-btn,.header__search,.hamburger span,.header__favorites-count{transition:none;animation:none}}.sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);background-color:var(--bg-primary);border-right:1px solid var(--border-color);overflow-y:auto;overflow-x:hidden;z-index:var(--z-sidebar);transition:transform var(--transition-base) var(--ease-in-out)}.sidebar__header{display:none;align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.sidebar__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.sidebar__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.sidebar__close:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.sidebar__content{padding:var(--spacing-4) 0}.sidebar__nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);text-decoration:none;color:var(--text-primary);font-weight:500;transition:all var(--transition-fast) var(--ease-in-out);border-left:3px solid transparent}.sidebar__nav-item:hover{background-color:var(--primary-alpha-10);color:var(--primary);border-left-color:var(--primary)}.sidebar__nav-item.active{background-color:var(--primary-alpha-20);color:var(--primary);border-left-color:var(--primary);font-weight:600}.sidebar__nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__nav-text{flex:1}.sidebar__section{margin:var(--spacing-2) 0;border-bottom:1px solid var(--border-color)}.sidebar__section:last-child{border-bottom:none}.sidebar__section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);cursor:pointer;user-select:none;transition:background-color var(--transition-fast) var(--ease-in-out)}.sidebar__section-header:hover{background-color:var(--bg-secondary)}.sidebar__section-title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.sidebar__section-chevron{display:flex;color:var(--text-tertiary);transition:transform var(--transition-base) var(--ease-in-out)}.sidebar__section.collapsed .sidebar__section-chevron{transform:rotate(-90deg)}.sidebar__section-content{max-height:500px;overflow:hidden;transition:max-height var(--transition-slow) var(--ease-in-out),opacity var(--transition-base) var(--ease-in-out)}.sidebar__section.collapsed .sidebar__section-content{max-height:0;opacity:0}.sidebar__category-list{list-style:none;margin:0;padding:0}.sidebar__category-item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-4);background:none;border:none;border-left:3px solid transparent;text-align:left;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.sidebar__category-item:hover{background-color:var(--primary-alpha-10);border-left-color:var(--primary-light)}.sidebar__category-item.active{background-color:var(--primary-alpha-20);border-left-color:var(--primary);font-weight:600}.sidebar__category-icon{font-size:1.25rem;line-height:1;flex-shrink:0}.sidebar__category-label{flex:1;font-size:.9375rem;color:var(--text-primary)}.sidebar__category-count{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-fast) var(--ease-in-out)}.sidebar__category-item.active .sidebar__category-count{background-color:var(--primary);color:#fff}.sidebar__category-tree{padding:0}.sidebar__category-main{margin-bottom:var(--spacing-1)}.sidebar__category-main-button{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3) var(--spacing-4);background:var(--bg-secondary);border:none;border-left:4px solid transparent;text-align:left;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);font-weight:700;font-size:1rem;color:var(--text-primary);margin-bottom:2px}.sidebar__category-main-button:hover{background-color:var(--primary-alpha-10);border-left-color:var(--primary-light)}.sidebar__category-main-button.active{background-color:var(--primary-alpha-20);border-left-color:var(--primary);color:var(--primary)}.sidebar__category-chevron{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-tertiary);transition:transform var(--transition-base) var(--ease-in-out)}.sidebar__category-main.collapsed .sidebar__category-chevron{transform:rotate(-90deg)}.sidebar__category-main-button .sidebar__category-icon{font-size:1.375rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.sidebar__category-main-button .sidebar__category-label{font-size:1rem;letter-spacing:-.01em}.sidebar__category-sub-list{max-height:1000px;overflow:hidden;padding-left:var(--spacing-2);background:linear-gradient(to right,var(--bg-tertiary) 0%,transparent 50%);border-left:2px solid var(--border-color);margin-left:var(--spacing-4);margin-bottom:var(--spacing-2);transition:max-height var(--transition-slow) var(--ease-in-out),opacity var(--transition-base) var(--ease-in-out)}.sidebar__category-main.collapsed .sidebar__category-sub-list{max-height:0;opacity:0}.sidebar__category-sub-item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);padding-left:var(--spacing-4);background:none;border:none;border-left:3px solid transparent;text-align:left;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);font-size:.875rem;font-weight:500;color:var(--text-secondary);position:relative}.sidebar__category-sub-item:hover{background-color:var(--bg-primary);border-left-color:var(--primary-light);color:var(--text-primary)}.sidebar__category-sub-item.active{background-color:var(--bg-primary);border-left-color:var(--primary);font-weight:600;color:var(--primary)}.sidebar__category-sub-item .sidebar__category-icon{font-size:.9375rem;opacity:.7}.sidebar__category-sub-item.active .sidebar__category-icon{opacity:1}.sidebar__category-sub-item .sidebar__category-label{font-size:.875rem}.sidebar__category-sub-item:before{content:"";position:absolute;left:-2px;top:50%;width:12px;height:1px;background-color:var(--border-color);transition:background-color var(--transition-fast) var(--ease-in-out)}.sidebar__category-sub-item:hover:before,.sidebar__category-sub-item.active:before{background-color:var(--primary)}.sidebar__category-sub-item .sidebar__category-count{font-size:.6875rem;min-width:20px;height:20px}.sidebar__category-sub-item.active .sidebar__category-count{background-color:var(--primary);color:#fff}.sidebar__tag-list{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4) var(--spacing-3)}.sidebar__tag-item{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-primary);font-size:.8125rem;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.sidebar__tag-item:hover{background-color:var(--primary-alpha-10);border-color:var(--primary-light);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.sidebar__tag-item.active{background-color:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.sidebar__tag-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background-color:#0000001a;font-size:.6875rem;font-weight:600;border-radius:var(--radius-full)}.sidebar__tag-item.active .sidebar__tag-count{background-color:#ffffff40}.sidebar__active-filters{margin:var(--spacing-3) 0;padding:var(--spacing-3) var(--spacing-4);background-color:var(--bg-secondary);border-radius:var(--radius-md);margin-left:var(--spacing-3);margin-right:var(--spacing-3)}.sidebar__active-filters.hidden{display:none}.sidebar__active-filters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-2)}.sidebar__active-filters-title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.sidebar__clear-filters{padding:var(--spacing-1) var(--spacing-2);background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.sidebar__clear-filters:hover{background-color:var(--danger-alpha-10);border-color:var(--danger);color:var(--danger)}.sidebar__active-filters-list{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.sidebar__filter-chip{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background-color:var(--primary-alpha-10);border:1px solid var(--primary);border-radius:var(--radius-full);color:var(--primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.sidebar__filter-chip:hover{background-color:var(--danger-alpha-10);border-color:var(--danger);color:var(--danger)}.sidebar__filter-chip-remove{display:flex;align-items:center;justify-content:center}@media (max-width: 1024px){.sidebar{transform:translate(-100%);box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:4px 0 12px #00000026}.sidebar__header{display:flex}}@media (max-width: 768px){.sidebar{width:280px;max-width:85vw}}.sidebar-overlay{position:fixed;inset:0;background-color:#00000080;opacity:0;visibility:hidden;z-index:calc(var(--z-sidebar) - 1);transition:opacity var(--transition-base) var(--ease-in-out),visibility var(--transition-base) var(--ease-in-out)}.sidebar.open~.sidebar-overlay,body.sidebar-open .sidebar-overlay{opacity:1;visibility:visible}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:var(--bg-secondary)}.sidebar::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:var(--radius-full)}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--primary)}.sidebar__section-header:focus-visible,.sidebar__nav-item:focus-visible,.sidebar__category-item:focus-visible,.sidebar__tag-item:focus-visible,.sidebar__filter-chip:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media (prefers-contrast: high){.sidebar{border-right-width:2px}.sidebar__tag-item,.sidebar__filter-chip{border-width:2px}}@media (prefers-reduced-motion: reduce){.sidebar,.sidebar__section-content,.sidebar__nav-item,.sidebar__category-item,.sidebar__tag-item,.sidebar__filter-chip,.sidebar-overlay,.sidebar__section-chevron{transition:none}}@media print{.sidebar{display:none}}[data-theme=dark] .sidebar.open{box-shadow:4px 0 12px #00000080}.crop-card{position:relative;display:flex;flex-direction:column;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all .3s var(--ease-toss);box-shadow:0 1px 3px #0000000d}.crop-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 24px #0000001f;border-color:var(--primary-light)}.crop-card:active{transform:translateY(-2px) scale(.99);transition:all .1s var(--ease-toss)}.crop-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.crop-card.highlighted{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha-20)}.crop-card__image-container{position:relative;width:100%;padding-top:75%;background-color:var(--bg-secondary);overflow:hidden}.crop-card__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-toss)}.crop-card:hover .crop-card__image{transform:scale(1.08)}.crop-card__image[data-src]{opacity:.6;filter:blur(4px)}.crop-card__image:not([data-src]){opacity:1;filter:none}.crop-card__category{position:absolute;top:var(--spacing-2);left:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);background-color:#000000b3;color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--radius-full);backdrop-filter:blur(4px);z-index:2}.crop-card__category--grain{background-color:#daa520e6}.crop-card__category--seafood{background-color:#1e90ffe6}.crop-card__category--wild{background-color:#228b22e6}.crop-card__category--etc{background-color:#808080e6}.crop-card__favorite{position:absolute;top:var(--spacing-2);right:var(--spacing-2);width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;background-color:#ffffffe6;border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;z-index:2;box-shadow:0 2px 4px #0000001a;transition:all var(--transition-fast) var(--ease-toss);backdrop-filter:blur(4px)}.crop-card__favorite:hover{background-color:#fff;transform:scale(1.15);box-shadow:0 4px 8px #00000026}.crop-card__favorite:active{transform:scale(.95);transition:all .1s var(--ease-toss)}.crop-card__favorite.active{background-color:var(--primary);color:#fff}.crop-card__favorite.active:hover{transform:scale(1.15) rotate(15deg)}.crop-card__favorite.animate{animation:favorite-pop .4s var(--ease-toss)}@keyframes favorite-pop{0%{transform:scale(1) rotate(0)}30%{transform:scale(1.4) rotate(-15deg)}60%{transform:scale(.95) rotate(10deg)}to{transform:scale(1.15) rotate(0)}}[data-theme=dark] .crop-card__favorite{background-color:#2d2d2de6;color:var(--text-secondary)}[data-theme=dark] .crop-card__favorite:hover{background-color:#3c3c3c}.crop-card__body{padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-2);flex:1}.crop-card__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary);display:flex;flex-direction:column;gap:4px}.crop-card__title-main{font-size:1.125rem;font-weight:700;color:var(--primary);line-height:1.3}.crop-card__title-sub{font-size:.875rem;font-weight:400;color:var(--text-secondary);line-height:1.3}.crop-card__subtitle{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.crop-card__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-1);margin-top:auto}.crop-card__tag{display:inline-flex;align-items:center;padding:4px var(--spacing-2);background-color:var(--bg-tertiary);color:var(--primary);font-size:.75rem;font-weight:500;border-radius:var(--radius-full);transition:all var(--transition-fast) var(--ease-in-out)}.crop-card__tag--more{background-color:var(--bg-secondary);color:var(--text-tertiary);font-weight:600}@media (max-width: 768px){.crop-card__body{padding:var(--spacing-3)}.crop-card__title-main{font-size:1rem}.crop-card__title-sub{font-size:.8125rem}.crop-card__subtitle{font-size:.8125rem;-webkit-line-clamp:1}.crop-card__favorite{width:32px;height:32px}.crop-card__favorite svg{width:16px;height:16px}}@media (prefers-contrast: high){.crop-card{border-width:2px}.crop-card:hover{border-width:3px}}@media (prefers-reduced-motion: reduce){.crop-card,.crop-card__image,.crop-card__favorite{transition:none;animation:none}.crop-card:hover,.crop-card:hover .crop-card__image{transform:none}}@media print{.crop-card{border:1px solid #000;box-shadow:none;page-break-inside:avoid}.crop-card:hover{transform:none;box-shadow:none}.crop-card__favorite{display:none}.crop-card__image{filter:none}}.crop-card.loading{pointer-events:none}.crop-card.loading .crop-card__image-container,.crop-card.loading .crop-card__title,.crop-card.loading .crop-card__subtitle,.crop-card.loading .crop-card__tags{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;color:transparent}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.crop-list-view{width:100%;padding:var(--spacing-4)}.crop-list-view__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--border-color)}.crop-list-view__count{display:flex;align-items:baseline;gap:var(--spacing-2)}.crop-list-view__count-number{font-size:2rem;font-weight:700;color:var(--primary);line-height:1}.crop-list-view__count-text{font-size:1rem;color:var(--text-secondary)}.crop-list-view__controls{display:flex;align-items:center;gap:var(--spacing-3)}.crop-list-view__view-toggle{display:flex;background-color:var(--bg-secondary);border-radius:var(--radius-md);padding:4px}.crop-list-view__view-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.crop-list-view__view-btn:hover{color:var(--primary);background-color:var(--bg-tertiary)}.crop-list-view__view-btn--active{background-color:var(--primary);color:#fff}.crop-list-view__grid{display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.crop-list-view__grid--list{grid-template-columns:1fr}.crop-list-view__grid--list .crop-card{display:grid;grid-template-columns:200px 1fr;max-width:100%}.crop-list-view__grid--list .crop-card__image-container{padding-top:0;height:150px}.crop-list-view__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12) var(--spacing-4);text-align:center}.crop-list-view__empty-icon{color:var(--text-tertiary);margin-bottom:var(--spacing-4);opacity:.5}.crop-list-view__empty-title{margin:0 0 var(--spacing-2) 0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.crop-list-view__empty-message{margin:0;font-size:1rem;color:var(--text-secondary);max-width:400px}.crop-list-view__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12) var(--spacing-4)}.crop-list-view__loading-text{margin-top:var(--spacing-4);font-size:1rem;color:var(--text-secondary)}@media (max-width: 1024px){.crop-list-view__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-3)}}@media (max-width: 768px){.crop-list-view{padding:var(--spacing-3)}.crop-list-view__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.crop-list-view__controls{width:100%;justify-content:flex-end}.crop-list-view__count-number{font-size:1.5rem}.crop-list-view__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-2)}.crop-list-view__grid--list{grid-template-columns:1fr}.crop-list-view__grid--list .crop-card{grid-template-columns:120px 1fr}.crop-list-view__grid--list .crop-card__image-container{height:120px}}@media (prefers-reduced-motion: reduce){.crop-list-view__grid{animation:none}}.crop-detail{width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-4);animation:fadeIn var(--transition-base) var(--ease-in-out)}.crop-detail__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-4)}.crop-detail__back-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:none;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.crop-detail__back-btn:hover{background-color:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}.crop-detail__actions{display:flex;align-items:center;gap:var(--spacing-2)}.crop-detail__action-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.crop-detail__action-btn:hover{background-color:var(--primary-alpha-10);border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.crop-detail__favorite-btn.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.crop-detail__edit-btn:hover{background-color:var(--success-alpha-10);border-color:var(--success, #22c55e);color:var(--success, #22c55e)}.crop-detail__hero{display:grid;grid-template-columns:400px 1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-6);padding:var(--spacing-6);background-color:var(--bg-secondary);border-radius:var(--radius-lg)}.crop-detail__image-container{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-md);overflow:hidden;background-color:var(--bg-tertiary)}.crop-detail__image{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform var(--transition-slow) var(--ease-in-out)}.crop-detail__image:hover{transform:scale(1.05)}.crop-detail.edit-mode .crop-detail__image{cursor:default}.crop-detail.edit-mode .crop-detail__image:hover{transform:none}.crop-detail__image-change-btn{position:absolute;bottom:var(--spacing-3);right:var(--spacing-3);display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background-color:#000c;border:none;border-radius:var(--radius-md);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);backdrop-filter:blur(8px)}.crop-detail__image-change-btn:hover{background-color:#000000e6;transform:translateY(-2px)}.crop-detail__image-change-btn.hidden{display:none}.crop-detail__info{display:flex;flex-direction:column;gap:var(--spacing-3)}.crop-detail__category{display:inline-flex;align-items:center;align-self:flex-start;padding:var(--spacing-1) var(--spacing-3);background-color:var(--primary);color:#fff;font-size:.875rem;font-weight:600;border-radius:var(--radius-full)}.crop-detail__category--grain{background-color:#daa520}.crop-detail__category--seafood{background-color:#1e90ff}.crop-detail__category--wild{background-color:#228b22}.crop-detail__category--etc{background-color:gray}.crop-detail__title{margin:0;font-size:var(--font-size-4xl);font-weight:700;color:var(--text-primary);line-height:1.2}.crop-detail__title-text[contenteditable=true]{outline:2px dashed var(--primary);outline-offset:4px;padding:4px;border-radius:var(--radius-sm)}.crop-detail__names{display:flex;flex-direction:column;gap:var(--spacing-1)}.crop-detail__name-en,.crop-detail__name-latin{margin:0;font-size:1rem;color:var(--text-secondary)}.crop-detail__name-en span,.crop-detail__name-latin span{color:var(--text-primary)}.crop-detail__subtitle{margin:0;font-size:1.125rem;color:var(--text-secondary);line-height:1.6}[contenteditable=true]{cursor:text}[contenteditable=true]:focus{outline:2px solid var(--primary);outline-offset:2px;background-color:var(--primary-alpha-10);border-radius:var(--radius-sm)}.crop-detail__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.crop-detail__tag{padding:var(--spacing-1) var(--spacing-3);background-color:var(--primary-alpha-10);color:var(--primary);font-size:.875rem;font-weight:500;border-radius:var(--radius-full);border:1px solid var(--primary-alpha-20)}.crop-detail__tabs{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--border-color);overflow-x:auto;scrollbar-width:none}.crop-detail__tabs::-webkit-scrollbar{display:none}.crop-detail__tab{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast) var(--ease-in-out)}.crop-detail__tab:hover{color:var(--primary);background-color:var(--primary-alpha-10)}.crop-detail__tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.crop-detail__tab-icon{font-size:1.25rem;line-height:1}.crop-detail__tab-content{position:relative;min-height:300px}.crop-detail__tab-panel{display:block;animation:fadeIn var(--transition-base) var(--ease-in-out);scroll-margin-top:120px}.crop-detail__section{margin-bottom:var(--spacing-6)}.crop-detail__section-title{margin:0 0 var(--spacing-3) 0;font-size:1.5rem;font-weight:600;color:var(--text-primary);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--border-color)}.crop-detail__characteristics,.crop-detail__uses{margin:0;font-size:1.0625rem;line-height:1.8;color:var(--text-primary);white-space:pre-wrap}.crop-detail__cultivation-step{display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-4);padding:var(--spacing-4);background-color:var(--bg-secondary);border-radius:var(--radius-md);border-left:4px solid var(--primary)}.crop-detail__step-number{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--primary);color:#fff;font-size:1.5rem;font-weight:700;border-radius:var(--radius-full)}.crop-detail__step-content{flex:1}.crop-detail__step-title{margin:0 0 var(--spacing-2) 0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.crop-detail__step-description{margin:0;font-size:1rem;line-height:1.6;color:var(--text-secondary)}.crop-detail__empty{padding:var(--spacing-8);text-align:center;color:var(--text-tertiary);font-size:1rem}.crop-detail__related{margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:2px solid var(--border-color)}.crop-detail__related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-4)}.crop-detail__related-card{display:flex;flex-direction:column;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.crop-detail__related-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a;border-color:var(--primary)}.crop-detail__related-image{width:100%;aspect-ratio:4 / 3;object-fit:cover}.crop-detail__related-name{margin:0;padding:var(--spacing-3);font-size:1rem;font-weight:600;color:var(--text-primary);text-align:center}.lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background-color:#000000e6;backdrop-filter:blur(8px);animation:fadeIn var(--transition-base) var(--ease-in-out);cursor:zoom-out}.lightbox__image{max-width:90%;max-height:90%;object-fit:contain;animation:scaleIn var(--transition-base) var(--ease-spring)}.lightbox__close{position:absolute;top:var(--spacing-4);right:var(--spacing-4);width:48px;height:48px;display:flex;align-items:center;justify-content:center;padding:0;background-color:#ffffff1a;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);backdrop-filter:blur(8px)}.lightbox__close:hover{background-color:#fff3;transform:rotate(90deg)}.notification{position:fixed;bottom:-100px;left:50%;transform:translate(-50%);z-index:var(--z-tooltip);padding:var(--spacing-3) var(--spacing-6);background-color:var(--text-primary);color:var(--bg-primary);font-size:.9375rem;font-weight:500;border-radius:var(--radius-lg);box-shadow:0 4px 12px #00000026;transition:bottom var(--transition-base) var(--ease-spring)}.notification.show{bottom:var(--spacing-6)}@media (max-width: 1024px){.crop-detail__hero{grid-template-columns:300px 1fr;gap:var(--spacing-4);padding:var(--spacing-4)}.crop-detail__title{font-size:2rem}.crop-detail__related-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width: 768px){.crop-detail{padding:var(--spacing-3)}.crop-detail__header{margin-bottom:var(--spacing-3)}.crop-detail__action-btn{width:36px;height:36px}.crop-detail__hero{grid-template-columns:1fr;gap:var(--spacing-3);padding:var(--spacing-3)}.crop-detail__image-container{max-width:100%}.crop-detail__title{font-size:1.75rem}.crop-detail__subtitle{font-size:1rem}.crop-detail__tabs{gap:0}.crop-detail__tab{flex:1;justify-content:center;padding:var(--spacing-2) var(--spacing-2);font-size:.875rem}.crop-detail__tab-label{display:none}.crop-detail__tab-icon{font-size:1.5rem}.crop-detail__cultivation-step{flex-direction:column;gap:var(--spacing-2)}.crop-detail__step-number{width:40px;height:40px;font-size:1.25rem}.crop-detail__related-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-2)}}@media print{.crop-detail__header,.crop-detail__actions,.crop-detail__related{display:none}.crop-detail__hero{page-break-inside:avoid}.crop-detail__tabs{display:none}.crop-detail__tab-panel{display:block!important;page-break-inside:avoid}.crop-detail__image{cursor:default}}@media (prefers-contrast: high){.crop-detail__tab.active{border-bottom-width:4px}.crop-detail__category,.crop-detail__tag{border-width:2px}}@media (prefers-reduced-motion: reduce){.crop-detail,.crop-detail__image,.crop-detail__tab,.crop-detail__related-card,.lightbox,.lightbox__image,.lightbox__close,.notification{animation:none;transition:none}.crop-detail__image:hover,.crop-detail__related-card:hover{transform:none}}.crop-detail__summary{padding:var(--spacing-5);background:linear-gradient(135deg,var(--primary-alpha-10) 0%,var(--primary-alpha-5) 100%);border-left:4px solid var(--primary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-5)}.crop-detail__summary-text{margin:0;font-size:1.125rem;line-height:1.8;color:var(--text-primary);font-weight:500}.crop-detail__description{font-size:1.0625rem;line-height:1.9;color:var(--text-primary);margin-bottom:var(--spacing-4)}.crop-detail__description br{display:block;margin:var(--spacing-2) 0;content:""}.crop-detail__info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-4);margin-top:var(--spacing-4)}.crop-detail__info-card{padding:var(--spacing-4);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast) var(--ease-in-out)}.crop-detail__info-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px);border-color:var(--primary-alpha-30)}.crop-detail__info-card--full{grid-column:1 / -1}.crop-detail__info-label{margin:0 0 var(--spacing-2) 0;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.crop-detail__info-value{margin:0;font-size:1.0625rem;line-height:1.7;color:var(--text-primary)}.crop-detail__varieties-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-4);margin-top:var(--spacing-4)}.crop-detail__variety-card{padding:var(--spacing-4);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid var(--primary);border-radius:var(--radius-md);transition:all var(--transition-fast) var(--ease-in-out)}.crop-detail__variety-card:hover{box-shadow:0 4px 12px #00000014;transform:translate(4px)}.crop-detail__variety-name{margin:0 0 var(--spacing-2) 0;font-size:1.125rem;font-weight:600;color:var(--primary)}.crop-detail__variety-characteristics{margin:0 0 var(--spacing-2) 0;font-size:1rem;line-height:1.7;color:var(--text-primary)}.crop-detail__variety-regions{margin:0;font-size:.9375rem;color:var(--text-secondary)}.crop-detail__regions-list{list-style:none;padding:0;margin:var(--spacing-4) 0 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-2)}.crop-detail__region-item{padding:var(--spacing-3);background-color:var(--bg-secondary);border-radius:var(--radius-md);font-size:.9375rem;line-height:1.6;color:var(--text-primary)}.crop-detail__difficulty-badge{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:1rem;font-weight:600;border-radius:var(--radius-full);margin-top:var(--spacing-2)}.crop-detail__difficulty-badge--green{background-color:#dcfce7;color:#15803d;border:1px solid #86efac}.crop-detail__difficulty-badge--yellow{background-color:#fef3c7;color:#a16207;border:1px solid #fde047}.crop-detail__difficulty-badge--red{background-color:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.crop-detail__timeline{display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-4)}.crop-detail__timeline-item{display:flex;gap:var(--spacing-4);padding:var(--spacing-4);background-color:var(--bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--border-color);transition:all var(--transition-fast) var(--ease-in-out)}.crop-detail__timeline-item:hover{box-shadow:0 2px 8px #0000000f;transform:translate(4px)}.crop-detail__timeline-item--high{border-left-color:#ef4444;background-color:#ef44440d}.crop-detail__timeline-item--medium{border-left-color:#f59e0b;background-color:#f59e0b0d}.crop-detail__timeline-item--low{border-left-color:#10b981;background-color:#10b9810d}.crop-detail__timeline-month{flex-shrink:0;font-size:.875rem;font-weight:600;color:var(--text-secondary);min-width:100px}.crop-detail__timeline-activity{margin:0 0 var(--spacing-1) 0;font-size:1.0625rem;font-weight:600;color:var(--text-primary)}.crop-detail__timeline-description{margin:0;font-size:.9375rem;line-height:1.6;color:var(--text-secondary)}.crop-detail__step-duration{margin:var(--spacing-2) 0 0 0;padding:var(--spacing-2) var(--spacing-3);background-color:var(--primary-alpha-10);border-radius:var(--radius-sm);font-size:.875rem;color:var(--primary);display:inline-block}.crop-detail__step-tips{margin:var(--spacing-3) 0 0 0;padding:var(--spacing-3);background-color:#3b82f60d;border-left:3px solid #3b82f6;border-radius:var(--radius-sm);list-style:none}.crop-detail__step-tips li{position:relative;padding-left:var(--spacing-4);margin-bottom:var(--spacing-2);font-size:.9375rem;line-height:1.6;color:var(--text-primary)}.crop-detail__step-tips li:before{content:"💡";position:absolute;left:0;top:0}.crop-detail__step-tips li:last-child{margin-bottom:0}.crop-detail__list{list-style:none;padding:0;margin:var(--spacing-2) 0 0 0}.crop-detail__list li{position:relative;padding-left:var(--spacing-4);margin-bottom:var(--spacing-2);font-size:.9375rem;line-height:1.6;color:var(--text-primary)}.crop-detail__list li:before{content:"•";position:absolute;left:var(--spacing-2);color:var(--primary);font-weight:700}.crop-detail__list li:last-child{margin-bottom:0}.crop-detail__pest-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-4);margin-top:var(--spacing-4)}.crop-detail__pest-card{padding:var(--spacing-4);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast) var(--ease-in-out)}.crop-detail__pest-card:hover{box-shadow:0 4px 12px #00000014}.crop-detail__pest-name{margin:0 0 var(--spacing-3) 0;font-size:1.125rem;font-weight:600;color:#dc2626;padding-bottom:var(--spacing-2);border-bottom:2px solid rgba(220,38,38,.1)}.crop-detail__pest-symptoms,.crop-detail__pest-prevention,.crop-detail__pest-treatment{margin:var(--spacing-2) 0;font-size:.9375rem;line-height:1.7;color:var(--text-primary)}.crop-detail__precautions{padding:var(--spacing-4);background-color:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md)}.crop-detail__precautions-list{list-style:none;padding:0;margin:var(--spacing-3) 0 0 0}.crop-detail__precautions-list li{position:relative;padding-left:var(--spacing-5);margin-bottom:var(--spacing-3);font-size:1rem;line-height:1.7;color:var(--text-primary)}.crop-detail__precautions-list li:before{content:"⚠️";position:absolute;left:0;top:0}.crop-detail__precautions-list li:last-child{margin-bottom:0}.crop-detail__primary-uses-list{list-style:none;padding:0;margin:var(--spacing-3) 0 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-2)}.crop-detail__primary-uses-list li{padding:var(--spacing-3) var(--spacing-4);background:linear-gradient(135deg,var(--primary-alpha-10) 0%,var(--primary-alpha-5) 100%);border-left:3px solid var(--primary);border-radius:var(--radius-md);font-size:1rem;font-weight:500;color:var(--text-primary);transition:all var(--transition-fast) var(--ease-in-out)}.crop-detail__primary-uses-list li:hover{transform:translate(4px);box-shadow:0 2px 8px #0000000f}.crop-detail__subsection-title{margin:var(--spacing-4) 0 var(--spacing-2) 0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.crop-detail__processing-list>div{padding:var(--spacing-4);background-color:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-3);border-left:3px solid var(--primary)}.crop-detail__processing-list>div h3{margin:0 0 var(--spacing-2) 0;font-size:1.125rem;font-weight:600;color:var(--primary)}.crop-detail__processing-list>div p{margin:0;font-size:1rem;line-height:1.7;color:var(--text-primary)}.crop-detail__nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-3);margin-top:var(--spacing-4)}.crop-detail__nutrition-grid--small{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-2)}.crop-detail__nutrition-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:2px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-fast) var(--ease-in-out);position:relative;overflow:hidden}.crop-detail__nutrition-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-alpha-50));transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base) var(--ease-in-out)}.crop-detail__nutrition-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:var(--primary)}.crop-detail__nutrition-card:hover:before{transform:scaleX(1)}.crop-detail__nutrition-value{font-size:2rem;font-weight:700;color:var(--primary);line-height:1;margin-bottom:var(--spacing-2);background:linear-gradient(135deg,var(--primary) 0%,#6366f1 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.crop-detail__nutrition-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);line-height:1.4}.crop-detail__nutrition-card--small .crop-detail__nutrition-value{font-size:1.5rem}.crop-detail__nutrition-card--highlight{background:linear-gradient(135deg,var(--primary-alpha-20) 0%,var(--primary-alpha-10) 100%);border-color:var(--primary);border-width:2px}.crop-detail__nutrition-card--highlight .crop-detail__nutrition-value{font-size:2.5rem}.crop-detail__nutrition-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:var(--spacing-3)}.crop-detail__nutrition-table tr{border-bottom:1px solid var(--border-color)}.crop-detail__nutrition-table tr:last-child{border-bottom:none}.crop-detail__nutrition-table td{padding:var(--spacing-3);font-size:1rem;line-height:1.6}.crop-detail__nutrition-table td:first-child{font-weight:600;color:var(--text-primary);width:40%}.crop-detail__nutrition-table td:last-child{color:var(--primary);font-weight:500;text-align:right}.crop-detail__benefits-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-4);margin-top:var(--spacing-4)}.crop-detail__benefit-card{padding:var(--spacing-4);background:linear-gradient(135deg,#22c55e0d,#22c55e05);border:1px solid rgba(34,197,94,.2);border-left:4px solid #22c55e;border-radius:var(--radius-md);transition:all var(--transition-fast) var(--ease-in-out)}.crop-detail__benefit-card:hover{box-shadow:0 8px 24px #22c55e26;transform:translateY(-4px);border-color:#22c55e}.crop-detail__benefit-card h3{margin:0 0 var(--spacing-2) 0;font-size:1.0625rem;font-weight:600;color:#15803d;display:flex;align-items:center;gap:var(--spacing-2)}.crop-detail__benefit-card h3:before{content:"✓";display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:#22c55e;color:#fff;border-radius:var(--radius-full);font-size:.875rem;font-weight:700;flex-shrink:0}.crop-detail__benefit-card p{margin:0;font-size:.9375rem;line-height:1.7;color:var(--text-primary)}.crop-detail__benefit-nutrients{margin-top:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid rgba(34,197,94,.2);font-size:.875rem;color:var(--text-secondary)}.crop-detail__data-source{margin-top:var(--spacing-6);padding:var(--spacing-3);background-color:var(--bg-secondary);border-radius:var(--radius-md);text-align:center;font-size:.875rem;color:var(--text-tertiary);font-style:italic}.crop-detail__cautions{padding:var(--spacing-5);background-color:#ef44440d;border:2px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);margin-top:var(--spacing-5)}.crop-detail__caution-item{margin-bottom:var(--spacing-4)}.crop-detail__caution-item:last-child{margin-bottom:0}.crop-detail__caution-item h3{margin:0 0 var(--spacing-2) 0;font-size:1rem;font-weight:600;color:#dc2626;display:flex;align-items:center;gap:var(--spacing-2)}.crop-detail__caution-item h3:before{content:"⚠️";font-size:1.125rem}.crop-detail__caution-item p{margin:0;font-size:.9375rem;line-height:1.7;color:var(--text-primary)}@media (max-width: 768px){.crop-detail__nutrition-grid,.crop-detail__nutrition-grid--small{grid-template-columns:repeat(2,1fr)}.crop-detail__info-grid,.crop-detail__varieties-list,.crop-detail__benefits-list{grid-template-columns:1fr}.crop-detail__timeline-item{flex-direction:column;gap:var(--spacing-2)}.crop-detail__timeline-month{min-width:auto}}.floating-nav{position:fixed;z-index:var(--z-fixed);background-color:var(--bg-primary);border:1px solid var(--border);box-shadow:var(--shadow-md);transition:all var(--transition-base) var(--ease-in-out);opacity:0;visibility:hidden}.floating-nav.visible{opacity:1;visibility:visible}@media (min-width: 1024px){.floating-nav{top:50%;right:var(--spacing-6);transform:translateY(-50%);border-radius:var(--radius-lg);padding:var(--spacing-2)}.floating-nav__inner{display:flex;flex-direction:column;gap:var(--spacing-2)}.floating-nav__item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);text-align:left;white-space:nowrap}.floating-nav__item:hover{background-color:var(--bg-secondary);color:var(--primary)}.floating-nav__item.active{background-color:var(--primary);color:#fff}.floating-nav__icon{font-size:1.25em;flex-shrink:0}.floating-nav__label{display:inline}}@media (min-width: 768px) and (max-width: 1023px){.floating-nav{bottom:var(--spacing-4);left:50%;transform:translate(-50%);border-radius:var(--radius-lg);padding:var(--spacing-2) var(--spacing-4);max-width:600px;width:90%}.floating-nav__inner{display:flex;flex-direction:row;gap:var(--spacing-2);justify-content:space-around}.floating-nav__item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);flex:1}.floating-nav__item:hover{background-color:var(--bg-secondary);color:var(--primary)}.floating-nav__item.active{background-color:var(--primary);color:#fff}.floating-nav__icon{font-size:1.25em}.floating-nav__label{display:inline}}@media (max-width: 767px){.floating-nav{bottom:var(--spacing-3);left:50%;transform:translate(-50%);border-radius:var(--radius-full);padding:var(--spacing-1) var(--spacing-2);max-width:320px;width:90%}.floating-nav__inner{display:flex;flex-direction:row;gap:0;justify-content:space-around}.floating-nav__item{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);background:none;border:none;border-radius:var(--radius);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);flex:1}.floating-nav__item:hover{background-color:var(--bg-secondary);color:var(--primary)}.floating-nav__item.active{background-color:var(--primary);color:#fff}.floating-nav__icon{font-size:1.5em}.floating-nav__label{display:none}}.floating-nav__item{position:relative;overflow:hidden}.floating-nav__item:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,var(--primary-alpha-20) 0%,transparent 70%);opacity:0;transition:opacity var(--transition-fast) var(--ease-in-out);pointer-events:none}.floating-nav__item:active:before{opacity:1}.skeleton-card{position:relative;display:flex;flex-direction:column;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;pointer-events:none}.skeleton-card__image{position:relative;width:100%;padding-top:75%;background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-card__body{padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-3)}.skeleton-card__title{display:flex;flex-direction:column;gap:var(--spacing-2)}.skeleton-card__title-main{height:1.25rem;width:60%;border-radius:var(--radius-sm)}.skeleton-card__title-sub{height:.875rem;width:45%;border-radius:var(--radius-sm)}.skeleton-card__subtitle{display:flex;flex-direction:column;gap:var(--spacing-2)}.skeleton-card__subtitle-line{height:.875rem;width:100%;border-radius:var(--radius-sm)}.skeleton-card__subtitle-line--short{width:70%}.skeleton-card__tags{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.skeleton-card__tag{height:1.5rem;width:4rem;border-radius:var(--radius-full)}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}[data-theme=dark] .skeleton-card{background-color:var(--bg-secondary)}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0%,rgba(255,255,255,.05) 50%,var(--bg-tertiary) 100%);background-size:200% 100%}@media (max-width: 640px){.skeleton-card__body{padding:var(--spacing-3)}.skeleton-card__title-main{height:1.125rem}.skeleton-card__subtitle-line{height:.8125rem}}@media (prefers-reduced-motion: reduce){.skeleton,.skeleton-card__image{animation:none;background:var(--bg-secondary)}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-x:hidden;width:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden;transition:background-color var(--transition-base) var(--ease-in-out),color var(--transition-base) var(--ease-in-out)}::selection{background-color:var(--primary);color:var(--text-inverse)}::-moz-selection{background-color:var(--primary);color:var(--text-inverse)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast) var(--ease-in-out)}a:hover{color:var(--primary-light);text-decoration:underline}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;padding:0}img{max-width:100%;height:auto;display:block}#app{display:flex;flex-direction:column;min-height:100vh;width:100%}.app-header{position:sticky;top:0;left:0;right:0;height:var(--header-height);background-color:var(--bg-primary);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 var(--spacing-4);z-index:var(--z-sticky);box-shadow:var(--shadow-sm);transition:all var(--transition-base) var(--ease-in-out)}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--max-content-width);margin:0 auto}.header-left{display:flex;align-items:center;gap:var(--spacing-4)}.header-right{display:flex;align-items:center;gap:var(--spacing-3)}.logo{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary);text-decoration:none}.logo:hover{color:var(--primary-light);text-decoration:none}.logo-icon{font-size:var(--font-size-2xl)}.menu-toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--radius);background-color:transparent;color:var(--text-primary);transition:all var(--transition-fast) var(--ease-in-out)}.menu-toggle:hover{background-color:var(--bg-secondary)}.menu-toggle:active{transform:scale(.95)}.app-main{display:flex;flex:1;position:relative;width:100%}.sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);background-color:var(--bg-secondary);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;z-index:var(--z-fixed);transition:transform var(--transition-base) var(--ease-in-out)}.sidebar.hidden{transform:translate(-100%)}.sidebar-content{padding:var(--spacing-4)}.main-content{flex:1;margin-left:var(--sidebar-width);padding:var(--spacing-6);transition:margin-left var(--transition-base) var(--ease-in-out)}.sidebar.hidden+.main-content{margin-left:0}.content-container{max-width:var(--max-content-width);margin:0 auto}.search-container{position:relative;flex:1;max-width:600px}.search-input{width:100%;height:44px;padding:var(--spacing-2) var(--spacing-4);padding-left:var(--spacing-10);border:2px solid var(--border);border-radius:var(--radius-lg);background-color:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast) var(--ease-in-out)}.search-input:focus{outline:none;border-color:var(--primary);background-color:var(--bg-primary);box-shadow:0 0 0 3px #2c55301a}.search-input::placeholder{color:var(--text-tertiary)}.search-icon{position:absolute;left:var(--spacing-3);top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:var(--font-size-lg);pointer-events:none}.search-clear{position:absolute;right:var(--spacing-3);top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:var(--text-tertiary);color:var(--text-inverse);font-size:var(--font-size-xs);opacity:0;pointer-events:none;transition:all var(--transition-fast) var(--ease-in-out)}.search-input:not(:placeholder-shown)~.search-clear{opacity:1;pointer-events:auto}.search-clear:hover{background-color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out);user-select:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary);color:var(--text-inverse)}.btn-primary:hover{background-color:var(--primary-light)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--primary)}.btn-secondary:hover{background-color:var(--primary);color:var(--text-inverse)}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover{background-color:var(--bg-secondary)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius)}.btn-icon-sm{width:32px;height:32px;font-size:var(--font-size-sm)}.theme-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background-color:transparent;color:var(--text-primary);font-size:var(--font-size-lg);transition:all var(--transition-fast) var(--ease-in-out)}.theme-toggle:hover{background-color:var(--bg-secondary);transform:rotate(20deg)}.crops-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-min-width),1fr));gap:var(--spacing-6);margin-top:var(--spacing-6)}.crop-card{background-color:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base) var(--ease-in-out);cursor:pointer;display:flex;flex-direction:column}.crop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.crop-card-image{width:100%;height:200px;object-fit:cover;background-color:var(--bg-tertiary)}.crop-card-content{padding:var(--spacing-4);flex:1;display:flex;flex-direction:column}.crop-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.crop-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--primary);margin:0}.crop-card-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-3)}.crop-card-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:auto}.tag{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);background-color:var(--bg-tertiary);color:var(--primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.favorite-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:transparent;color:var(--text-tertiary);font-size:var(--font-size-lg);transition:all var(--transition-fast) var(--ease-in-out)}.favorite-btn:hover{background-color:var(--bg-tertiary);color:var(--warning);transform:scale(1.1)}.favorite-btn.active{color:var(--warning)}.favorite-btn.active:hover{transform:scale(1.2) rotate(15deg)}.detail-container{max-width:900px;margin:0 auto}.detail-header{display:grid;grid-template-columns:300px 1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-8)}.detail-image{width:100%;height:300px;object-fit:cover;border-radius:var(--radius-lg);border:2px solid var(--border);background-color:var(--bg-tertiary)}.detail-info{display:flex;flex-direction:column;justify-content:center}.detail-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--primary);margin-bottom:var(--spacing-2)}.detail-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--spacing-4)}.detail-meta{display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.category-badge{display:inline-flex;align-items:center;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius);background-color:var(--primary);color:var(--text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.detail-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.detail-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-4)}.detail-section{background-color:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--primary);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:2px solid var(--border)}.section-content{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-primary)}.cultivation-steps{list-style:none;counter-reset:step-counter}.cultivation-steps li{counter-increment:step-counter;position:relative;padding-left:var(--spacing-10);margin-bottom:var(--spacing-4)}.cultivation-steps li:before{content:counter(step-counter);position:absolute;left:0;top:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--primary);color:var(--text-inverse);border-radius:var(--radius-full);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.step-title{font-weight:var(--font-weight-semibold);color:var(--primary);margin-bottom:var(--spacing-2)}.step-description{color:var(--text-secondary)}.empty-state{text-align:center;padding:var(--spacing-16) var(--spacing-4)}.empty-state-icon{font-size:var(--font-size-4xl);color:var(--text-tertiary);margin-bottom:var(--spacing-4)}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-2)}.empty-state-description{font-size:var(--font-size-base);color:var(--text-secondary)}.loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-16)}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.hidden{display:none!important}.invisible{visibility:hidden!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);transition:margin-left var(--transition-base) var(--ease-in-out)}.error-screen,.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:var(--spacing-8);text-align:center}.error-screen__icon,.error-message__icon{font-size:4rem;margin-bottom:var(--spacing-4);opacity:.5}.error-screen__title,.error-message h2{margin:0 0 var(--spacing-2) 0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.error-screen__message,.error-message p{margin:0 0 var(--spacing-4) 0;font-size:1rem;color:var(--text-secondary);max-width:500px}.error-screen__button,.error-message__button{padding:var(--spacing-3) var(--spacing-6);background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast) var(--ease-in-out)}.error-screen__button:hover,.error-message__button:hover{background-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-4)}@media (max-width: 1024px){.main-content{margin-left:0}}@media (max-width: 768px){.main-content{padding:var(--spacing-3)}}@media (max-width: 767px){.app-header{padding:0 var(--spacing-3)}.header-content{gap:var(--spacing-2)}.logo{font-size:var(--font-size-lg)}.logo-text{display:none}.menu-toggle{display:flex}.search-container{max-width:none}.search-input{font-size:var(--font-size-sm);height:40px}.sidebar{transform:translate(-100%);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:none;position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:var(--bg-overlay);z-index:var(--z-modal-backdrop);opacity:0;transition:opacity var(--transition-base) var(--ease-in-out)}.sidebar-backdrop.active{display:block;opacity:1}.main-content{margin-left:0;padding:var(--spacing-4)}.crops-grid,.detail-header{grid-template-columns:1fr;gap:var(--spacing-4)}.detail-image{height:250px}.detail-title{font-size:var(--font-size-2xl)}.detail-subtitle{font-size:var(--font-size-base)}.detail-section{padding:var(--spacing-4)}.section-title{font-size:var(--font-size-lg)}.cultivation-steps li{padding-left:var(--spacing-8)}.cultivation-steps li:before{width:28px;height:28px;font-size:var(--font-size-xs)}.empty-state{padding:var(--spacing-12) var(--spacing-4)}.empty-state-icon{font-size:var(--font-size-3xl)}.btn{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm)}.tag{font-size:.7rem;padding:2px var(--spacing-2)}}@media (max-width: 479px){.app-header{padding:0 var(--spacing-2);height:56px}.header-right{gap:var(--spacing-2)}.search-container{display:none}.search-container.mobile-visible{display:block;position:fixed;top:56px;left:0;right:0;padding:var(--spacing-3);background-color:var(--bg-primary);border-bottom:1px solid var(--border);z-index:var(--z-fixed);max-width:none}.main-content{padding:var(--spacing-3)}.crop-card-image{height:180px}.crop-card-content{padding:var(--spacing-3)}.crop-card-title{font-size:var(--font-size-base)}.detail-title{font-size:var(--font-size-xl)}.detail-actions{flex-direction:column}.detail-actions .btn{width:100%}}@media (min-width: 768px) and (max-width: 1023px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.main-content{margin-left:0}.sidebar.open+.main-content{margin-left:var(--sidebar-width)}.crops-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}.menu-toggle{display:flex}.search-container{max-width:400px}}@media (min-width: 1024px){.sidebar{transform:translate(0)}.menu-toggle{display:none}.crops-grid{grid-template-columns:repeat(3,1fr)}.crop-card:hover{transform:translateY(-8px)}}@media (min-width: 1280px){.crops-grid{grid-template-columns:repeat(4,1fr)}.content-container{max-width:1400px}}@media (min-width: 1536px){.crops-grid{grid-template-columns:repeat(5,1fr)}html{font-size:18px}}@media (hover: none) and (pointer: coarse){.btn{min-height:44px;min-width:44px}.btn-icon{width:44px;height:44px}.crop-card:hover{transform:none;box-shadow:none}*{-webkit-tap-highlight-color:transparent}.sidebar,.main-content{-webkit-overflow-scrolling:touch}}@media print{.app-header,.sidebar,.theme-toggle,.favorite-btn,.detail-actions,.btn{display:none!important}.main-content{margin-left:0;padding:0}.crop-card,.detail-section{page-break-inside:avoid}*{background-color:#fff!important;color:#000!important;box-shadow:none!important}a[href]:after{content:" (" attr(href) ")"}img{max-width:100%!important}}@media (prefers-color-scheme: dark) and (max-width: 767px){[data-theme=auto] .sidebar{box-shadow:0 0 20px #000c}}@media (max-width: 767px) and (orientation: portrait){.detail-image{height:300px}.crop-card-image{height:200px}}@media (max-width: 767px) and (orientation: landscape){.detail-header{grid-template-columns:250px 1fr}.detail-image{height:200px}.crops-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){:root{--border: #000000;--shadow: none}[data-theme=dark]{--border: #ffffff}.crop-card,.detail-section,.sidebar{border-width:2px}}.recipe-card{position:relative;display:flex;flex-direction:column;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all .3s var(--ease-toss);box-shadow:0 1px 3px #0000000d}.recipe-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 24px #0000001f;border-color:var(--primary-light)}.recipe-card:active{transform:translateY(-2px) scale(.99);transition:all .1s var(--ease-toss)}.recipe-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.recipe-card.highlighted{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha-20)}.recipe-card__image-container{position:relative;width:100%;padding-top:75%;background-color:var(--bg-secondary);overflow:hidden}.recipe-card__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-toss)}.recipe-card:hover .recipe-card__image{transform:scale(1.08)}.recipe-card__image[data-src]{opacity:.6;filter:blur(4px)}.recipe-card__image:not([data-src]){opacity:1;filter:none}.recipe-card__category{position:absolute;top:var(--spacing-2);left:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);font-size:.75rem;font-weight:600;color:#fff;border-radius:var(--radius-full);backdrop-filter:blur(4px);z-index:2;box-shadow:0 2px 8px #00000026}.recipe-card__category--soup{background-color:#ff6b6b}.recipe-card__category--stirfry{background-color:orange}.recipe-card__category--braised{background-color:#6bcb77}.recipe-card__category--kimchi{background-color:#ff6b9d}.recipe-card__category--rice{background-color:#4d96ff}.recipe-card__category--steamed{background-color:#ff8c42}.recipe-card__category--dessert{background-color:#e63946}.recipe-card__category--etc{background-color:var(--color-gray-500)}.recipe-card__difficulty{position:absolute;top:var(--spacing-2);right:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);font-size:.7rem;font-weight:600;color:#fff;border-radius:var(--radius-full);backdrop-filter:blur(4px);z-index:2;box-shadow:0 2px 8px #00000026}.recipe-card__difficulty--easy{background-color:#4caf50}.recipe-card__difficulty--medium{background-color:#ffa726}.recipe-card__difficulty--hard{background-color:#ef5350}.recipe-card__favorite{position:absolute;bottom:var(--spacing-2);right:var(--spacing-2);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#ffffffe6;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all .3s var(--ease-toss);z-index:3;box-shadow:0 2px 8px #0000001a}.recipe-card__favorite:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003}.recipe-card__favorite:active{transform:scale(.95)}.recipe-card__favorite svg{color:var(--color-gray-400);transition:color .3s var(--ease-toss)}.recipe-card__favorite.active svg{color:gold;fill:gold}.recipe-card__favorite.animate{animation:favorite-bounce .3s var(--ease-toss)}@keyframes favorite-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.recipe-card__body{padding:var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-2)}.recipe-card__title{display:flex;flex-direction:column;gap:var(--spacing-1);margin:0}.recipe-card__title-main{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:var(--line-height-tight)}.recipe-card__title-sub{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--text-secondary)}.recipe-card__subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.recipe-card__meta{display:flex;gap:var(--spacing-3);align-items:center;padding:var(--spacing-2) 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.recipe-card__meta-item{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);color:var(--text-secondary)}.recipe-card__meta-item svg{width:16px;height:16px;color:var(--text-tertiary)}.recipe-card__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.recipe-card__tag{padding:var(--spacing-1) var(--spacing-2);background-color:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all .2s var(--ease-toss)}.recipe-card__tag:hover,.recipe-card__tag--more{background-color:var(--primary-alpha-10);color:var(--primary)}.recipe-card.fade-in-up{animation:fadeInUp .4s var(--ease-toss) forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.recipe-card__title-main{font-size:var(--font-size-md)}.recipe-card__body{padding:var(--spacing-2)}.recipe-card__meta{gap:var(--spacing-2)}}.recipe-list-view{width:100%;padding:var(--spacing-4) 0}.recipe-list-view__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding:0 var(--spacing-2)}.recipe-list-view__count{display:flex;align-items:baseline;gap:var(--spacing-1)}.recipe-list-view__count-number{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--primary)}.recipe-list-view__count-text{font-size:var(--font-size-lg);color:var(--text-secondary)}.recipe-list-view__controls{display:flex;gap:var(--spacing-2);align-items:center}.recipe-list-view__view-toggle{display:flex;gap:var(--spacing-1);padding:var(--spacing-1);background-color:var(--bg-secondary);border-radius:var(--radius-md)}.recipe-list-view__view-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease-toss)}.recipe-list-view__view-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.recipe-list-view__view-btn--active{background-color:#fff;color:var(--primary);box-shadow:0 2px 4px #0000001a}.recipe-list-view__view-btn svg{width:20px;height:20px}.recipe-list-view__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-4);padding:0 var(--spacing-2)}.recipe-list-view__grid--list{grid-template-columns:1fr;gap:var(--spacing-3)}.recipe-list-view__grid--list .recipe-card{display:grid;grid-template-columns:280px 1fr;max-width:100%}.recipe-list-view__grid--list .recipe-card__image-container{padding-top:0;height:100%}.recipe-list-view__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-4);text-align:center;min-height:400px}.recipe-list-view__empty-icon{margin-bottom:var(--spacing-4);color:var(--text-tertiary);opacity:.5}.recipe-list-view__empty-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-2)}.recipe-list-view__empty-message{font-size:var(--font-size-md);color:var(--text-secondary);margin:0;max-width:400px}.recipe-list-view__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-4);min-height:400px}.recipe-list-view__loading-text{margin-top:var(--spacing-4);font-size:var(--font-size-lg);color:var(--text-secondary)}.spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1200px){.recipe-list-view__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-3)}}@media (max-width: 768px){.recipe-list-view__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.recipe-list-view__grid{grid-template-columns:1fr;gap:var(--spacing-3)}.recipe-list-view__grid--list .recipe-card{grid-template-columns:1fr}.recipe-list-view__count-number{font-size:var(--font-size-2xl)}}@media (max-width: 480px){.recipe-list-view{padding:var(--spacing-3) 0}.recipe-list-view__header,.recipe-list-view__grid{padding:0 var(--spacing-2)}}.recipe-detail{width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-6) var(--spacing-4);animation:fadeIn .4s var(--ease-toss)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.recipe-detail__header{position:relative;margin-bottom:var(--spacing-8)}.recipe-detail__back-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);margin-bottom:var(--spacing-5);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:all .3s var(--ease-toss);box-shadow:0 2px 4px #0000000a}.recipe-detail__back-btn:hover{background:var(--bg-tertiary);border-color:var(--primary);transform:translate(-8px);box-shadow:0 4px 12px #00000014}.recipe-detail__back-btn:active{transform:translate(-6px) scale(.98)}.recipe-detail__back-btn svg{width:20px;height:20px;transition:transform .3s var(--ease-toss)}.recipe-detail__back-btn:hover svg{transform:translate(-4px)}.recipe-detail__image-section{position:relative;width:100%;height:480px;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:0 10px 40px #0000001a,0 4px 12px #0000000f;margin-bottom:var(--spacing-6);background:linear-gradient(135deg,#667eea,#764ba2);transition:transform .3s var(--ease-toss)}.recipe-detail__image-section:hover{transform:translateY(-4px);box-shadow:0 20px 60px #00000026,0 8px 20px #00000014}.recipe-detail__image{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-toss)}.recipe-detail__image-section:hover .recipe-detail__image{transform:scale(1.05)}.recipe-detail__image[src*=placeholder],.recipe-detail__image[src*="data:image/svg"]{object-fit:contain;padding:var(--spacing-8);background:linear-gradient(135deg,var(--primary-alpha-10) 0%,var(--primary-alpha-05) 50%,var(--bg-secondary) 100%)}@media (prefers-color-scheme: dark){.recipe-detail__image-section{box-shadow:0 10px 40px #0000004d,0 4px 12px #0003;background:linear-gradient(135deg,#434343,#000)}.recipe-detail__image-section:hover{box-shadow:0 20px 60px #0006,0 8px 20px #0000004d}}.recipe-detail__category{position:absolute;top:var(--spacing-4);left:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#fff;border-radius:var(--radius-full);backdrop-filter:blur(12px) saturate(180%);box-shadow:0 4px 16px #00000040;text-shadow:0 1px 2px rgba(0,0,0,.2);transition:all .3s var(--ease-toss);z-index:2}.recipe-detail__category:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #0000004d}.recipe-detail__category--soup{background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.recipe-detail__category--stirfry{background:linear-gradient(135deg,orange,#ff8c00)}.recipe-detail__category--braised{background:linear-gradient(135deg,#6bcb77,#4caf50)}.recipe-detail__category--kimchi{background:linear-gradient(135deg,#ff6b9d,#c9184a)}.recipe-detail__category--rice{background:linear-gradient(135deg,#4d96ff,#1e88e5)}.recipe-detail__category--steamed{background:linear-gradient(135deg,#ff8c42,#f77f00)}.recipe-detail__category--dessert{background:linear-gradient(135deg,#e63946,#d62828)}.recipe-detail__category--etc{background:linear-gradient(135deg,#6c757d,#495057)}.recipe-detail__difficulty{position:absolute;top:var(--spacing-4);right:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#fff;border-radius:var(--radius-full);backdrop-filter:blur(12px) saturate(180%);box-shadow:0 4px 16px #00000040;text-shadow:0 1px 2px rgba(0,0,0,.2);transition:all .3s var(--ease-toss);z-index:2}.recipe-detail__difficulty:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #0000004d}.recipe-detail__difficulty--easy{background:linear-gradient(135deg,#4caf50,#388e3c)}.recipe-detail__difficulty--medium{background:linear-gradient(135deg,#ffa726,#f57c00)}.recipe-detail__difficulty--hard{background:linear-gradient(135deg,#ef5350,#c62828)}.recipe-detail__favorite{position:absolute;bottom:var(--spacing-4);right:var(--spacing-4);width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#fffffffa;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all .4s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 8px 24px #00000026,0 2px 8px #00000014;z-index:2}.recipe-detail__favorite:hover{transform:scale(1.15) rotate(10deg);box-shadow:0 12px 32px #0003,0 4px 12px #0000001f}.recipe-detail__favorite:active{transform:scale(1.05)}.recipe-detail__favorite svg{width:32px;height:32px;color:var(--color-gray-400);transition:all .3s var(--ease-toss)}.recipe-detail__favorite.active{background:linear-gradient(135deg,gold,orange)}.recipe-detail__favorite.active svg{color:#fff;fill:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}@media (prefers-color-scheme: dark){.recipe-detail__favorite{background:#323232fa}.recipe-detail__favorite svg{color:var(--color-gray-500)}}.recipe-detail__title-section{margin-bottom:var(--spacing-8)}.recipe-detail__title{font-size:var(--font-size-5xl);font-weight:var(--font-weight-black);color:var(--text-primary);line-height:var(--line-height-tight);margin:0 0 var(--spacing-3);letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.recipe-detail__title-en{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--text-tertiary);margin:0 0 var(--spacing-4);font-style:italic;letter-spacing:.02em}.recipe-detail__subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-5);padding:var(--spacing-4);background:var(--bg-secondary);border-left:4px solid var(--primary);border-radius:var(--radius-md);font-weight:var(--font-weight-medium)}.recipe-detail__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-4);padding:var(--spacing-5);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-color);border-radius:var(--radius-xl);margin-bottom:var(--spacing-6);box-shadow:0 4px 12px #0000000d}.recipe-detail__meta-item{display:flex;gap:var(--spacing-3);align-items:flex-start;padding:var(--spacing-3);background:#fff;border-radius:var(--radius-lg);transition:all .3s var(--ease-toss);border:1px solid transparent}.recipe-detail__meta-item:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000014;border-color:var(--primary-alpha-20)}.recipe-detail__meta-item svg{width:28px;height:28px;color:var(--primary);flex-shrink:0;margin-top:2px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.recipe-detail__meta-item div{display:flex;flex-direction:column;gap:var(--spacing-1)}.recipe-detail__meta-item strong{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.recipe-detail__meta-item span{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}@media (prefers-color-scheme: dark){.recipe-detail__meta{background:linear-gradient(135deg,#ffffff0d,#ffffff05)}.recipe-detail__meta-item{background:#ffffff08}.recipe-detail__meta-item:hover{background:#ffffff0d}}.recipe-detail__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-6)}.recipe-detail__tag{padding:var(--spacing-2) var(--spacing-4);background:var(--primary-alpha-10);color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);border:1px solid var(--primary-alpha-20);transition:all .3s var(--ease-toss);cursor:pointer}.recipe-detail__tag:hover{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px var(--primary-alpha-30);border-color:var(--primary)}.recipe-detail__tag:active{transform:translateY(-1px)}.recipe-detail__main{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-8)}.recipe-detail__left,.recipe-detail__right{display:flex;flex-direction:column;gap:var(--spacing-6)}.recipe-detail__section{padding:var(--spacing-6);background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000a,0 2px 8px #00000005;transition:all .3s var(--ease-toss)}.recipe-detail__section:hover{box-shadow:0 8px 24px #00000014,0 4px 12px #0000000a;transform:translateY(-2px)}.recipe-detail__section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);color:var(--text-primary);margin:0 0 var(--spacing-5);padding-bottom:var(--spacing-3);border-bottom:3px solid var(--primary);letter-spacing:-.01em;display:flex;align-items:center;gap:var(--spacing-2)}.recipe-detail__section-title:before{content:"";width:6px;height:28px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-full)}@media (prefers-color-scheme: dark){.recipe-detail__section{background:#ffffff05;border-color:#ffffff1a}.recipe-detail__section:hover{background:#ffffff0a;box-shadow:0 8px 24px #0000004d,0 4px 12px #0003}}.recipe-detail__ingredient-group{margin-bottom:var(--spacing-5)}.recipe-detail__ingredient-group:last-child{margin-bottom:0}.recipe-detail__ingredient-group-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:linear-gradient(135deg,var(--primary-alpha-10) 0%,var(--primary-alpha-05) 100%);border-left:3px solid var(--primary);border-radius:var(--radius-md)}.recipe-detail__ingredient-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.recipe-detail__ingredient-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid transparent;transition:all .3s var(--ease-toss)}.recipe-detail__ingredient-item:hover{background:var(--bg-tertiary);border-color:var(--primary-alpha-20);transform:translate(4px);box-shadow:0 4px 12px #0000000f}.recipe-detail__ingredient-item.optional{opacity:.6}.recipe-detail__ingredient-item.optional:hover{opacity:.8}.recipe-detail__ingredient-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.recipe-detail__ingredient-amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--primary);background:#fff;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);border:1px solid var(--primary-alpha-20)}@media (prefers-color-scheme: dark){.recipe-detail__ingredient-amount{background:#ffffff0d}}.recipe-detail__steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-5);counter-reset:step-counter}.recipe-detail__step{position:relative;padding:var(--spacing-5);background:var(--bg-secondary);border-radius:var(--radius-xl);border-left:5px solid var(--primary);transition:all .3s var(--ease-toss);box-shadow:0 2px 8px #0000000a}.recipe-detail__step:hover{background:var(--bg-tertiary);transform:translate(8px);box-shadow:0 8px 24px #00000014;border-left-width:8px}.recipe-detail__step-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.recipe-detail__step-number{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--spacing-3);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;font-size:var(--font-size-md);font-weight:var(--font-weight-black);border-radius:var(--radius-full);box-shadow:0 4px 12px var(--primary-alpha-30)}.recipe-detail__step-title{flex:1;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.recipe-detail__step-duration{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--primary);padding:var(--spacing-2) var(--spacing-3);background:#fff;border-radius:var(--radius-full);border:1px solid var(--primary-alpha-20)}.recipe-detail__step-description{font-size:var(--font-size-md);color:var(--text-primary);line-height:var(--line-height-relaxed);margin:0;padding-left:var(--spacing-13)}.recipe-detail__step-tips{margin-top:var(--spacing-4);padding-top:var(--spacing-4);padding-left:var(--spacing-13);border-top:2px dashed var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-2)}.recipe-detail__step-tip{display:flex;gap:var(--spacing-2);align-items:flex-start;font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-2) var(--spacing-3);background:var(--primary-alpha-05);border-radius:var(--radius-md)}.recipe-detail__step-tip svg{width:16px;height:16px;color:var(--primary);flex-shrink:0;margin-top:3px}.recipe-detail__nutrition{background:linear-gradient(135deg,var(--primary-alpha-10) 0%,var(--primary-alpha-05) 50%,transparent 100%);border:2px solid var(--primary-alpha-20)}.recipe-detail__nutrition-serving{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin:0 0 var(--spacing-4);text-align:center;padding:var(--spacing-2) var(--spacing-3);background:#fff;border-radius:var(--radius-md)}.recipe-detail__nutrition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-3)}.recipe-detail__nutrition-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-4);background:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0000000f;transition:all .3s var(--ease-toss);border:1px solid transparent}.recipe-detail__nutrition-item:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 24px #0000001f;border-color:var(--primary-alpha-20)}.recipe-detail__nutrition-icon{font-size:3rem;margin-bottom:var(--spacing-2);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.recipe-detail__nutrition-item strong{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--spacing-1)}.recipe-detail__nutrition-item span{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);color:var(--text-primary)}@media (prefers-color-scheme: dark){.recipe-detail__nutrition-serving,.recipe-detail__nutrition-item{background:#ffffff0d}.recipe-detail__nutrition-item:hover{background:#ffffff14}}.recipe-detail__benefit{padding:var(--spacing-4);background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-3);border-left:3px solid var(--primary);transition:all .3s var(--ease-toss)}.recipe-detail__benefit:hover{background:var(--bg-tertiary);transform:translate(4px);box-shadow:0 4px 12px #0000000f}.recipe-detail__benefit:last-child{margin-bottom:0}.recipe-detail__benefit-category{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--primary);margin:0 0 var(--spacing-2)}.recipe-detail__benefit-description{font-size:var(--font-size-md);color:var(--text-primary);line-height:var(--line-height-relaxed);margin:0}.recipe-detail__tip{padding:var(--spacing-4);background:var(--bg-secondary);border-left:4px solid var(--primary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-3);transition:all .3s var(--ease-toss);position:relative;overflow:hidden}.recipe-detail__tip:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--primary-alpha-05) 0%,transparent 100%);pointer-events:none}.recipe-detail__tip:hover{background:var(--bg-tertiary);transform:translate(4px);box-shadow:0 4px 12px #0000000f;border-left-width:6px}.recipe-detail__tip:last-child{margin-bottom:0}.recipe-detail__tip-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-2);position:relative}.recipe-detail__tip-description{font-size:var(--font-size-md);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin:0;position:relative}.recipe-detail__storage-method{font-size:var(--font-size-md);color:var(--text-primary);margin:0 0 var(--spacing-4);padding:var(--spacing-4);background:var(--bg-secondary);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);border-left:3px solid var(--primary)}.recipe-detail__storage-tips{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.recipe-detail__storage-tips li{font-size:var(--font-size-md);color:var(--text-secondary);line-height:var(--line-height-relaxed);padding:var(--spacing-3) var(--spacing-4);background:var(--bg-secondary);border-radius:var(--radius-md);padding-left:var(--spacing-4);position:relative}.recipe-detail__storage-tips li:before{content:"•";color:var(--primary);font-weight:700;font-size:var(--font-size-xl);position:absolute;left:var(--spacing-2);top:50%;transform:translateY(-50%)}.recipe-detail__additional{display:flex;flex-direction:column;gap:var(--spacing-6)}.recipe-detail__cultural,.recipe-detail__history{margin-bottom:var(--spacing-4)}.recipe-detail__cultural:last-child,.recipe-detail__history:last-child{margin-bottom:0}.recipe-detail__cultural h3,.recipe-detail__history h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary);margin:0 0 var(--spacing-3);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--primary-alpha-20)}.recipe-detail__cultural p,.recipe-detail__history p{font-size:var(--font-size-md);color:var(--text-primary);line-height:var(--line-height-relaxed);margin:0;padding:var(--spacing-3);background:var(--bg-secondary);border-radius:var(--radius-md)}@media (max-width: 1024px){.recipe-detail__main{grid-template-columns:1fr;gap:var(--spacing-6)}.recipe-detail__image-section{height:400px}}@media (max-width: 768px){.recipe-detail{padding:var(--spacing-4) var(--spacing-3)}.recipe-detail__image-section{height:320px;border-radius:var(--radius-xl)}.recipe-detail__title{font-size:var(--font-size-3xl)}.recipe-detail__title-en{font-size:var(--font-size-lg)}.recipe-detail__meta{grid-template-columns:1fr;padding:var(--spacing-4)}.recipe-detail__nutrition-grid{grid-template-columns:1fr}.recipe-detail__section{padding:var(--spacing-4)}.recipe-detail__section-title{font-size:var(--font-size-xl)}.recipe-detail__step-description,.recipe-detail__step-tips{padding-left:0}.recipe-detail__category,.recipe-detail__difficulty{top:var(--spacing-3);left:var(--spacing-3);right:auto;font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-3)}.recipe-detail__difficulty{left:auto;right:var(--spacing-3)}.recipe-detail__favorite{width:56px;height:56px;bottom:var(--spacing-3);right:var(--spacing-3)}.recipe-detail__favorite svg{width:28px;height:28px}}@media (max-width: 480px){.recipe-detail{padding:var(--spacing-3) var(--spacing-2)}.recipe-detail__image-section{height:240px;border-radius:var(--radius-lg)}.recipe-detail__title{font-size:var(--font-size-2xl)}.recipe-detail__title-en{font-size:var(--font-size-md)}.recipe-detail__subtitle{font-size:var(--font-size-md);padding:var(--spacing-3)}.recipe-detail__meta,.recipe-detail__section{padding:var(--spacing-3)}.recipe-detail__section-title{font-size:var(--font-size-lg)}.recipe-detail__step{padding:var(--spacing-3)}.recipe-detail__step-title{font-size:var(--font-size-md)}.recipe-detail__category,.recipe-detail__difficulty{top:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2)}.recipe-detail__favorite{width:48px;height:48px}.recipe-detail__favorite svg{width:24px;height:24px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.recipe-detail__back-btn,.recipe-detail__favorite{display:none}.recipe-detail__section{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}}
