:root{--color-terracotta: #c4553d;--color-terracotta-dark: #a84530;--color-terracotta-light: #f8ebe8;--color-cream: #faf6f1;--color-cream-dark: #f0e8dd;--color-olive: #6b7f59;--color-olive-dark: #566849;--color-olive-light: #e8eddf;--color-mustard: #d4a03d;--color-mustard-light: #fdf6e3;--color-charcoal: #2d2926;--color-brown: #5c4d42;--color-taupe: #8b7d72;--color-sand: #c4b8a8;--color-background: #fffcf8;--color-surface: var(--color-cream);--color-border: #e8ddd0;--color-text: var(--color-charcoal);--color-text-muted: var(--color-taupe);--color-danger: #c44b4b;--color-danger-light: #fceaea;--font-display: "Fraunces", Georgia, serif;--font-body: "Outfit", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.625rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--container-max: 1200px;--header-height: 72px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 2px 4px rgba(45, 41, 38, .04);--shadow-md: 0 4px 12px rgba(45, 41, 38, .08);--shadow-lg: 0 8px 24px rgba(45, 41, 38, .1);--shadow-xl: 0 16px 48px rgba(45, 41, 38, .12);--shadow-glow: 0 0 40px rgba(196, 85, 61, .15);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.6;color:var(--color-text);background:var(--color-background);background-image:radial-gradient(ellipse at 0% 0%,rgba(196,85,61,.03) 0%,transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(107,127,89,.03) 0%,transparent 50%);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;color:var(--color-charcoal);font-variation-settings:"opsz" 32}button{font-family:var(--font-body);font-size:inherit;cursor:pointer;border:none;background:none;transition:all var(--transition-base)}button:active{transform:scale(.97)}input,textarea{font-family:var(--font-body);font-size:var(--text-base)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.app{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}@media (max-width: 640px){.container{padding:0 var(--space-4)}}.main{flex:1;padding:var(--space-10) 0 var(--space-16)}@media (max-width: 640px){.main{padding:var(--space-6) 0 var(--space-10)}}.header{height:var(--header-height);background:#fffcf8d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(232,221,208,.6);position:sticky;top:0;z-index:100}.header-content{height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between}@media (max-width: 640px){.header-content{padding:0 var(--space-4)}}.logo-section{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit}.logo-icon{color:var(--color-terracotta);filter:drop-shadow(0 2px 4px rgba(196,85,61,.2));transition:transform var(--transition-bounce)}.logo-section:hover .logo-icon{transform:rotate(-8deg) scale(1.05)}.logo-text h1{font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-charcoal) 0%,var(--color-brown) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 480px){.logo-text h1{font-size:var(--text-lg)}}.header-nav{display:flex;gap:var(--space-1);background:var(--color-cream);padding:4px;border-radius:var(--radius-full);border:1px solid var(--color-border)}.nav-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:500;color:var(--color-taupe);border-radius:var(--radius-full);transition:all var(--transition-fast)}.nav-tab:hover:not(.active){color:var(--color-charcoal);background:#fff9}.nav-tab.active{background:var(--color-background);color:var(--color-terracotta);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.header-nav.desktop-only{display:none}}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:72px;background:#fffcf8f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--color-border);z-index:100;padding:0 var(--space-4);padding-bottom:env(safe-area-inset-bottom)}@media (max-width: 768px){.mobile-nav{display:flex;justify-content:center;gap:var(--space-12)}.main{padding-bottom:calc(72px + var(--space-10))}.footer{padding-bottom:calc(72px + var(--space-6))}}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);color:var(--color-taupe);font-size:var(--text-xs);font-weight:500;transition:color var(--transition-fast)}.mobile-nav-item.active,.mobile-nav-item:hover{color:var(--color-terracotta)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.user-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);background:var(--color-cream);border-radius:var(--radius-full);border:1px solid var(--color-border)}.user-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-terracotta) 0%,var(--color-terracotta-dark) 100%);color:#fff;border-radius:var(--radius-full);font-size:var(--text-sm)}.user-name{font-size:var(--text-sm);font-weight:500;color:var(--color-charcoal);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--color-taupe);border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-icon:hover{background:var(--color-cream);color:var(--color-charcoal)}@media (max-width: 640px){.user-info{display:none}.header-actions{gap:var(--space-2)}}@media (max-width: 768px){.header-actions .btn-primary .btn-text{display:none}.header-actions .btn-primary{width:44px;height:44px;padding:0;justify-content:center}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-6);background:linear-gradient(135deg,var(--color-terracotta) 0%,var(--color-terracotta-dark) 100%);color:#fff;font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-full);box-shadow:0 4px 12px #c4553d4d;transition:all var(--transition-base)}.btn-primary:hover{box-shadow:0 6px 20px #c4553d66;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-6);background:var(--color-background);color:var(--color-charcoal);font-size:var(--text-sm);font-weight:600;border:2px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-base)}.btn-secondary:hover{border-color:var(--color-terracotta);color:var(--color-terracotta);background:var(--color-terracotta-light)}.btn-danger{display:inline-flex;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-5);background:var(--color-danger-light);color:var(--color-danger);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-base)}.btn-danger:hover{background:var(--color-danger);color:#fff}.btn-clear{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);color:var(--color-taupe);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-full);transition:all var(--transition-fast)}.btn-clear:hover{background:var(--color-cream);color:var(--color-charcoal)}.btn-submit{width:100%;height:52px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:linear-gradient(135deg,var(--color-terracotta) 0%,var(--color-terracotta-dark) 100%);color:#fff;font-size:var(--text-base);font-weight:600;border-radius:var(--radius-lg);margin-top:var(--space-4);box-shadow:0 4px 12px #c4553d4d;transition:all var(--transition-base)}.btn-submit:hover:not(:disabled){box-shadow:0 6px 20px #c4553d66;transform:translateY(-1px)}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-lg{height:56px;padding:0 var(--space-10);font-size:var(--text-base)}@media (max-width: 480px){.btn-lg{height:52px;padding:0 var(--space-8);font-size:var(--text-sm)}}.search-filter{margin-bottom:var(--space-10)}.search-bar{display:flex;align-items:center;gap:var(--space-4);height:56px;padding:0 var(--space-5);background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.search-bar:focus-within{border-color:var(--color-terracotta);box-shadow:0 0 0 4px var(--color-terracotta-light)}.search-icon{color:var(--color-sand);flex-shrink:0}.search-input{flex:1;height:100%;border:none;background:transparent;color:var(--color-charcoal);outline:none;font-size:var(--text-base)}.search-input::placeholder{color:var(--color-sand)}.filter-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.filter-tag{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);background:var(--color-background);color:var(--color-brown);font-size:var(--text-sm);font-weight:500;border:1.5px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast)}.filter-tag:hover{border-color:var(--color-terracotta);color:var(--color-terracotta);background:var(--color-terracotta-light)}.filter-tag.active{background:var(--color-terracotta);color:#fff;border-color:var(--color-terracotta)}.results-count{font-size:var(--text-sm);color:var(--color-taupe);margin-bottom:var(--space-6);font-weight:500}.recipe-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--space-6)}@media (min-width: 560px){.recipe-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.recipe-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1200px){.recipe-grid{grid-template-columns:repeat(4,1fr)}}.recipe-grid .recipe-card{animation:cardAppear .5s ease-out backwards}.recipe-grid .recipe-card:nth-child(1){animation-delay:0ms}.recipe-grid .recipe-card:nth-child(2){animation-delay:50ms}.recipe-grid .recipe-card:nth-child(3){animation-delay:.1s}.recipe-grid .recipe-card:nth-child(4){animation-delay:.15s}.recipe-grid .recipe-card:nth-child(5){animation-delay:.2s}.recipe-grid .recipe-card:nth-child(6){animation-delay:.25s}.recipe-grid .recipe-card:nth-child(7){animation-delay:.3s}.recipe-grid .recipe-card:nth-child(8){animation-delay:.35s}.recipe-grid .recipe-card:nth-child(n+9){animation-delay:.4s}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.recipe-card{position:relative;background:var(--color-background);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);border:1px solid rgba(232,221,208,.5)}.recipe-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(196,85,61,.05) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-base);pointer-events:none;z-index:1}.recipe-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.recipe-card:hover:before{opacity:1}.card-actions{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;gap:var(--space-2);opacity:0;transform:translateY(-8px);z-index:10;transition:all var(--transition-fast)}.recipe-card:hover .card-actions,.cookbook-card:hover .card-actions{opacity:1;transform:translateY(0)}.card-action{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-background);color:var(--color-taupe);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.card-action:hover{background:var(--color-olive);color:#fff;transform:scale(1.1)}.card-action.card-delete:hover{background:var(--color-danger);color:#fff}.card-image{aspect-ratio:4 / 3;background:linear-gradient(135deg,var(--color-cream) 0%,var(--color-cream-dark) 100%);overflow:hidden;position:relative}.card-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(45,41,38,.1),transparent);pointer-events:none}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.recipe-card:hover .card-image img{transform:scale(1.08)}.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-terracotta);background:linear-gradient(135deg,var(--color-terracotta-light) 0%,var(--color-cream) 100%);transition:all var(--transition-base)}.recipe-card:hover .card-image-placeholder{background:linear-gradient(135deg,var(--color-terracotta-light) 0%,#fde8e4 100%)}.card-body{padding:var(--space-5)}.card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;margin-bottom:var(--space-2);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;color:var(--color-charcoal)}.card-description{font-size:var(--text-sm);color:var(--color-taupe);margin-bottom:var(--space-4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6}.card-meta{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.meta-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-taupe);font-weight:500}.meta-item svg{color:var(--color-olive)}.card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--color-olive-light);color:var(--color-olive-dark);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);text-transform:lowercase;letter-spacing:.02em}.tag-more{background:var(--color-mustard-light);color:var(--color-mustard)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-20) var(--space-6);text-align:center;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.empty-icon{color:var(--color-terracotta);opacity:.4;margin-bottom:var(--space-8);animation:gentleBounce 3s ease-in-out infinite}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state h3{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;margin-bottom:var(--space-3);color:var(--color-charcoal)}.empty-state p{color:var(--color-taupe);font-size:var(--text-base);margin-bottom:var(--space-8)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d292699;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-6);overflow-y:auto;z-index:1000;animation:modalOverlayIn .25s ease-out}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@media (min-width: 640px){.modal-overlay{align-items:center;padding:var(--space-8)}}@media (max-width: 480px){.modal-overlay{padding:0;background:var(--color-background);-webkit-backdrop-filter:none;backdrop-filter:none}}.modal-content{position:relative;width:100%;max-height:calc(100vh - var(--space-8));max-height:calc(100dvh - var(--space-8));background:var(--color-background);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);margin:var(--space-4) 0;overflow:hidden;display:flex;flex-direction:column;animation:modalContentIn .35s ease-out}@keyframes modalContentIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 480px){.modal-content{margin:0;border-radius:0;min-height:100vh;min-height:100dvh;box-shadow:none;display:flex;flex-direction:column;animation:none}}.modal-form{max-width:min(520px,100%);padding:var(--space-8);overflow-y:auto;flex:1;min-height:0}@media (max-width: 640px){.modal-form{padding:var(--space-6)}}@media (max-width: 480px){.modal-form{padding:var(--space-5);padding-top:var(--space-8)}}.modal-detail{max-width:min(760px,100%);overflow-y:auto}@media (max-width: 480px){.modal-detail{max-width:100%}}.modal-close{position:absolute;top:var(--space-4);right:var(--space-4);width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--color-taupe);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-full);z-index:20;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.modal-close:hover{background:var(--color-charcoal);border-color:var(--color-charcoal);color:#fff;transform:scale(1.05)}@media (max-width: 480px){.modal-close{top:var(--space-3);right:var(--space-3)}}.modal-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding-right:var(--space-12)}.modal-icon{color:var(--color-terracotta)}.modal-header h2{font-size:var(--text-2xl)}.tab-group{display:flex;gap:var(--space-1);padding:4px;background:var(--color-cream);border-radius:var(--radius-md);margin-bottom:var(--space-6);border:1px solid var(--color-border)}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;font-size:var(--text-sm);font-weight:500;color:var(--color-taupe);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.tab-btn:hover:not(.active){color:var(--color-charcoal)}.tab-btn.active{background:var(--color-background);color:var(--color-terracotta);box-shadow:var(--shadow-sm)}.form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--color-charcoal)}.form-group input,.form-group textarea{width:100%;height:48px;padding:0 var(--space-4);background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-charcoal);transition:all var(--transition-fast);font-size:var(--text-base)}.form-group textarea{height:auto;min-height:100px;padding:var(--space-4);resize:vertical;line-height:1.6}.form-group input:hover,.form-group textarea:hover{border-color:var(--color-sand)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-terracotta);box-shadow:0 0 0 4px var(--color-terracotta-light)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-sand)}.form-row{display:grid;gap:var(--space-4);min-width:0}.form-row-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 520px){.form-row-3{grid-template-columns:1fr 1fr}.form-row-3 .form-group:last-child{grid-column:span 2}}@media (max-width: 380px){.form-row-3{grid-template-columns:1fr}.form-row-3 .form-group:last-child{grid-column:span 1}}.suggested-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.suggested-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--color-taupe);border:1.5px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast)}.suggested-tag:hover{border-color:var(--color-olive);color:var(--color-olive);background:var(--color-olive-light)}.url-notice{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--color-mustard-light);border-radius:var(--radius-md);margin-bottom:var(--space-4);color:var(--color-mustard);border:1px solid rgba(212,160,61,.3)}.url-notice p{font-size:var(--text-sm);color:var(--color-brown);margin:0}.url-notice .notice-subtle{color:var(--color-taupe);margin-top:var(--space-1)}.file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.image-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);color:var(--color-taupe);background:var(--color-cream)}.image-upload-area:hover{border-color:var(--color-terracotta);background:var(--color-terracotta-light);color:var(--color-terracotta)}.image-upload-area span{font-size:var(--text-sm);font-weight:600}.upload-hint{font-size:var(--text-xs);color:var(--color-taupe)}.image-preview{position:relative;border-radius:var(--radius-lg);overflow:hidden}.image-preview img{width:100%;height:180px;object-fit:cover;display:block}.image-remove{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-background);color:var(--color-taupe);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.image-remove:hover{background:var(--color-danger);color:#fff}.detail-header{display:flex;flex-direction:column}@media (min-width: 640px){.detail-header{flex-direction:row}}.detail-image{flex-shrink:0}@media (min-width: 640px){.detail-image{width:300px}}.detail-image img{width:100%;height:220px;object-fit:cover}@media (min-width: 640px){.detail-image img{height:100%;min-height:300px;border-radius:var(--radius-xl) 0 0 0}}.detail-image-placeholder{width:100%;height:220px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-terracotta-light) 0%,var(--color-cream) 100%);color:var(--color-terracotta)}@media (min-width: 640px){.detail-image-placeholder{height:100%;min-height:300px;border-radius:var(--radius-xl) 0 0 0}}.detail-info{flex:1;padding:var(--space-8)}@media (max-width: 480px){.detail-info{padding:var(--space-5);padding-top:var(--space-6)}}@media (min-width: 640px){.detail-info{padding:var(--space-10) var(--space-8) var(--space-6) var(--space-8)}}.detail-title{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-3);padding-right:var(--space-12)}@media (min-width: 640px){.detail-title{font-size:var(--text-3xl)}}.detail-description{font-size:var(--text-base);color:var(--color-taupe);line-height:1.7;margin-bottom:var(--space-6)}.detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.meta-block{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--color-olive-light);border-radius:var(--radius-full);color:var(--color-olive-dark)}.meta-block>div{display:flex;flex-direction:column}.meta-label{font-size:var(--text-xs);color:var(--color-olive);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.meta-value{font-size:var(--text-sm);font-weight:600;color:var(--color-charcoal)}.detail-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.source-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-terracotta);transition:all var(--transition-fast)}.source-link:hover{color:var(--color-terracotta-dark)}.detail-body{display:grid;gap:var(--space-6);padding:var(--space-8);background:var(--color-cream)}@media (max-width: 480px){.detail-body{padding:var(--space-5);gap:var(--space-5)}}@media (min-width: 640px){.detail-body{grid-template-columns:1fr 1fr}}.detail-section{background:var(--color-background);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}@media (max-width: 480px){.detail-section{padding:var(--space-5)}}.detail-section h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border);color:var(--color-charcoal)}.ingredients-list{list-style:none}.ingredients-list li{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;font-size:var(--text-sm);border-bottom:1px solid var(--color-border)}.ingredients-list li:last-child{border-bottom:none}.ingredients-list input[type=checkbox]{width:20px;height:20px;margin-top:1px;accent-color:var(--color-olive);cursor:pointer;flex-shrink:0}.ingredients-list label{flex:1;cursor:pointer;line-height:1.6;transition:all var(--transition-fast)}.ingredients-list input:checked+label{text-decoration:line-through;color:var(--color-sand)}.instructions-list{list-style:none;counter-reset:step}.instructions-list li{position:relative;padding:var(--space-4) 0 var(--space-4) var(--space-10);font-size:var(--text-sm);line-height:1.7;counter-increment:step}.instructions-list li:before{content:counter(step);position:absolute;left:0;top:var(--space-4);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-terracotta) 0%,var(--color-terracotta-dark) 100%);color:#fff;font-size:var(--text-xs);font-weight:700;border-radius:var(--radius-full)}.detail-footer{display:flex;justify-content:flex-end;padding:var(--space-5) var(--space-8);border-top:1px solid var(--color-border)}.footer{padding:var(--space-8);text-align:center;border-top:1px solid var(--color-border);background:var(--color-cream)}.footer p{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;color:var(--color-terracotta);letter-spacing:.02em}.footer a{color:var(--color-terracotta);text-decoration:none;transition:all var(--transition-fast)}.footer a:hover{color:var(--color-terracotta-dark);text-decoration:underline}.landing{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-10);background:radial-gradient(ellipse at 30% 20%,rgba(196,85,61,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(107,127,89,.08) 0%,transparent 50%),var(--color-background);position:relative;overflow:hidden}.landing:before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(196,85,61,.05) 0%,transparent 60%);border-radius:50%;animation:floatBlob 20s ease-in-out infinite}.landing:after{content:"";position:absolute;bottom:-30%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(107,127,89,.05) 0%,transparent 60%);border-radius:50%;animation:floatBlob 15s ease-in-out infinite reverse}@keyframes floatBlob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}@media (max-width: 480px){.landing{padding:var(--space-6);padding-top:var(--space-16);align-items:flex-start}}.landing-content{text-align:center;max-width:480px;width:100%;position:relative;z-index:1;animation:landingAppear .8s ease-out}@keyframes landingAppear{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.landing-mascot{color:var(--color-terracotta);margin-bottom:var(--space-8);filter:drop-shadow(0 8px 24px rgba(196,85,61,.25));animation:mascotBounce 3s ease-in-out infinite}@keyframes mascotBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-2deg)}75%{transform:translateY(-4px) rotate(2deg)}}@media (max-width: 480px){.landing-mascot{width:100px!important;height:100px!important;margin-bottom:var(--space-6)}}.landing-content h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;color:var(--color-charcoal);margin-bottom:var(--space-4);letter-spacing:-.02em}@media (max-width: 480px){.landing-content h1{font-size:var(--text-3xl)}}.landing-content p{font-size:var(--text-lg);color:var(--color-taupe);margin-bottom:var(--space-10);line-height:1.7}@media (max-width: 480px){.landing-content p{font-size:var(--text-base);margin-bottom:var(--space-8)}}.landing-actions{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width: 480px){.landing-actions{flex-direction:row;justify-content:center}}.loading-screen{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-terracotta)}.modal-auth{max-width:min(420px,100%);padding:var(--space-10);overflow-y:auto;flex:1;min-height:0}@media (max-width: 640px){.modal-auth{padding:var(--space-8)}}@media (max-width: 480px){.modal-auth{max-width:100%;padding:var(--space-5);padding-top:var(--space-12);justify-content:flex-start}}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-mascot{color:var(--color-terracotta);margin-bottom:var(--space-5);filter:drop-shadow(0 4px 12px rgba(196,85,61,.2))}@media (max-width: 480px){.auth-mascot{width:64px!important;height:64px!important}}.auth-header h2{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-2)}@media (max-width: 480px){.auth-header h2{font-size:var(--text-xl)}}.auth-header p{font-size:var(--text-sm);color:var(--color-taupe)}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.auth-error{padding:var(--space-4);background:var(--color-danger-light);color:var(--color-danger);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-md);text-align:center}.auth-field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field label{font-size:var(--text-sm);font-weight:600;color:var(--color-charcoal)}.auth-input-wrapper{display:flex;align-items:center;gap:var(--space-3);height:52px;padding:0 var(--space-5);background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);color:var(--color-sand)}.auth-input-wrapper:focus-within{border-color:var(--color-terracotta);box-shadow:0 0 0 4px var(--color-terracotta-light)}.auth-input-wrapper input{flex:1;height:100%;border:none;background:transparent;color:var(--color-charcoal);font-size:var(--text-base);outline:none;min-width:0}.auth-input-wrapper input::placeholder{color:var(--color-sand)}.password-toggle{display:flex;align-items:center;justify-content:center;color:var(--color-taupe);padding:var(--space-2);margin:calc(-1 * var(--space-2));border-radius:var(--radius-sm);transition:all var(--transition-fast)}.password-toggle:hover{color:var(--color-charcoal);background:var(--color-cream)}.auth-submit{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:linear-gradient(135deg,var(--color-terracotta) 0%,var(--color-terracotta-dark) 100%);color:#fff;font-size:var(--text-base);font-weight:600;border-radius:var(--radius-md);margin-top:var(--space-4);box-shadow:0 4px 12px #c4553d4d;transition:all var(--transition-base)}.auth-submit:hover:not(:disabled){box-shadow:0 6px 20px #c4553d66;transform:translateY(-1px)}.auth-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.auth-footer{text-align:center;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.auth-footer p{font-size:var(--text-sm);color:var(--color-taupe)}.auth-toggle{color:var(--color-terracotta);font-weight:600;margin-left:var(--space-1);transition:all var(--transition-fast)}.auth-toggle:hover{color:var(--color-terracotta-dark);text-decoration:underline}.auth-security-note{font-size:var(--text-xs);color:var(--color-taupe);text-align:center;margin-top:var(--space-5)}.cookbook-card{position:relative;background:var(--color-background);border-radius:var(--radius-lg);padding:var(--space-6);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);border:1px solid rgba(232,221,208,.5)}.cookbook-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.cookbook-card-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-olive-light) 0%,rgba(232,237,223,.5) 100%);color:var(--color-olive);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.cookbook-owner{color:var(--color-olive);font-weight:500}.cookbook-list{display:flex;flex-direction:column;gap:var(--space-6)}.cookbook-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.cookbook-tabs{display:flex;gap:var(--space-1);background:var(--color-cream);padding:4px;border-radius:var(--radius-full);border:1px solid var(--color-border)}.cookbook-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:500;color:var(--color-taupe);border-radius:var(--radius-full);transition:all var(--transition-fast)}.cookbook-tab:hover:not(.active){color:var(--color-charcoal)}.cookbook-tab.active{background:var(--color-background);color:var(--color-terracotta);box-shadow:var(--shadow-sm)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 var(--space-2);background:var(--color-terracotta-light);color:var(--color-terracotta);font-size:var(--text-xs);font-weight:700;border-radius:var(--radius-full)}.cookbook-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--space-5)}@media (min-width: 560px){.cookbook-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.cookbook-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1200px){.cookbook-grid{grid-template-columns:repeat(4,1fr)}}.cookbook-grid .cookbook-card{animation:cardAppear .5s ease-out backwards}.cookbook-grid .cookbook-card:nth-child(1){animation-delay:0ms}.cookbook-grid .cookbook-card:nth-child(2){animation-delay:50ms}.cookbook-grid .cookbook-card:nth-child(3){animation-delay:.1s}.cookbook-grid .cookbook-card:nth-child(4){animation-delay:.15s}.cookbook-grid .cookbook-card:nth-child(n+5){animation-delay:.2s}.cookbook-detail-overlay{align-items:flex-start;padding-top:var(--space-10)}@media (max-width: 480px){.cookbook-detail-overlay{padding-top:0}}.cookbook-detail{position:relative;width:100%;max-width:min(960px,100%);background:var(--color-background);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:calc(100vh - var(--space-20));max-height:calc(100dvh - var(--space-20));overflow-y:auto;display:flex;flex-direction:column}@media (max-width: 640px){.cookbook-detail{max-height:calc(100vh - var(--space-12));max-height:calc(100dvh - var(--space-12));border-radius:var(--radius-lg)}}@media (max-width: 480px){.cookbook-detail{max-width:100%;max-height:100vh;max-height:100dvh;border-radius:0;box-shadow:none}}.cookbook-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-8);padding-top:var(--space-10);padding-right:var(--space-16);border-bottom:1px solid var(--color-border)}@media (max-width: 640px){.cookbook-detail-header{padding:var(--space-6);padding-top:var(--space-12);padding-right:var(--space-12);flex-direction:column;gap:var(--space-4)}}@media (max-width: 480px){.cookbook-detail-header{padding:var(--space-5);padding-top:var(--space-12);padding-right:var(--space-5)}}.cookbook-detail-info h2{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-3);padding-right:0}.cookbook-detail-description{color:var(--color-taupe);margin-bottom:var(--space-4)}.cookbook-detail-owner{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-olive);font-weight:500}.cookbook-detail-actions{display:flex;gap:var(--space-3);flex-shrink:0}.cookbook-detail-content{padding:var(--space-8);min-height:220px;background:var(--color-cream);flex:1;overflow-y:auto}@media (max-width: 640px){.cookbook-detail-content{padding:var(--space-5)}}.cookbook-search-filter{margin-bottom:var(--space-6)}.cookbook-search-bar{display:flex;align-items:center;gap:var(--space-3);height:48px;padding:0 var(--space-4);background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.cookbook-search-bar:focus-within{border-color:var(--color-terracotta);box-shadow:0 0 0 4px var(--color-terracotta-light)}.cookbook-filter-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.cookbook-recipe-view{display:flex;flex-direction:column}.cookbook-recipe-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-background);flex-shrink:0}@media (max-width: 480px){.cookbook-recipe-header{padding:var(--space-3) var(--space-4)}}.btn-back{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);color:var(--color-terracotta);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-fast)}.btn-back:hover{background:var(--color-terracotta-light)}.btn-back span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 480px){.btn-back span{max-width:150px}}.cookbook-recipe-content{flex:1;overflow-y:auto}.cookbook-recipe-view .detail-header,.cookbook-recipe-view .detail-image img,.cookbook-recipe-view .detail-image-placeholder{border-radius:0}@media (min-width: 640px){.cookbook-recipe-view .detail-image img,.cookbook-recipe-view .detail-image-placeholder{border-radius:0}}.cookbook-recipe-view .modal-close{position:static;flex-shrink:0;box-shadow:none;border:1px solid var(--color-border)}.cookbook-recipe-card{position:relative}.remove-from-cookbook{position:absolute;bottom:var(--space-4);right:var(--space-4);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-background);color:var(--color-taupe);border-radius:var(--radius-md);opacity:0;z-index:10;box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.cookbook-recipe-card:hover .remove-from-cookbook{opacity:1}.remove-from-cookbook:hover{background:var(--color-danger-light);color:var(--color-danger)}.recipe-added-by{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-cream);border-radius:0 0 var(--radius-md) var(--radius-md);margin-top:-4px}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d292680;display:flex;align-items:center;justify-content:center;z-index:100;animation:modalOverlayIn var(--transition-fast) ease-out}.confirm-modal{background:var(--color-background);border-radius:var(--radius-lg);padding:var(--space-6);max-width:400px;width:calc(100% - var(--space-8));box-shadow:var(--shadow-xl);animation:modalContentIn var(--transition-base) ease-out}.confirm-modal h3{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);margin-bottom:var(--space-2)}.confirm-modal p{color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:1.5}.confirm-modal p strong{color:var(--color-text)}.confirm-modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.confirm-modal-actions .btn-danger{display:flex;align-items:center;gap:var(--space-2)}.loading-state{display:flex;align-items:center;justify-content:center;padding:var(--space-16);color:var(--color-terracotta)}.share-modal{max-width:min(500px,100%);padding:var(--space-8);overflow-y:auto;flex:1;min-height:0}@media (max-width: 640px){.share-modal{padding:var(--space-6)}}@media (max-width: 480px){.share-modal{max-width:100%;padding:var(--space-5);padding-top:var(--space-8)}}.share-modal h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-6);padding-right:var(--space-12)}.share-tabs{display:flex;gap:var(--space-1);background:var(--color-cream);padding:4px;border-radius:var(--radius-md);margin-bottom:var(--space-6);border:1px solid var(--color-border)}.share-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--color-taupe);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.share-tab:hover:not(.active){color:var(--color-charcoal)}.share-tab.active{background:var(--color-background);color:var(--color-terracotta);box-shadow:var(--shadow-sm)}.share-content{display:flex;flex-direction:column;gap:var(--space-5)}.share-input-group{display:flex;gap:var(--space-3)}.share-input-group input{flex:1;height:48px;padding:0 var(--space-4);background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--transition-fast)}.share-input-group input:focus{outline:none;border-color:var(--color-terracotta);box-shadow:0 0 0 4px var(--color-terracotta-light)}.share-input-group .btn-primary{flex-shrink:0}.share-list{display:flex;flex-direction:column;gap:var(--space-3)}.share-list h4{font-size:var(--text-sm);font-weight:600;color:var(--color-taupe);margin-bottom:var(--space-2)}.share-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--color-cream);border-radius:var(--radius-md)}.share-item-info{display:flex;flex-direction:column}.share-item-name{font-size:var(--text-sm);font-weight:600;color:var(--color-charcoal)}.share-item-email{font-size:var(--text-xs);color:var(--color-taupe)}.share-item-remove{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-taupe);border-radius:var(--radius-md);transition:all var(--transition-fast)}.share-item-remove:hover{background:var(--color-danger-light);color:var(--color-danger)}.share-link-info{font-size:var(--text-sm);color:var(--color-taupe)}.create-link-btn{align-self:flex-start}.share-links-list{display:flex;flex-direction:column;gap:var(--space-3)}.share-links-list h4{font-size:var(--text-sm);font-weight:600;color:var(--color-taupe);margin-bottom:var(--space-2)}.share-link-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--color-cream);border-radius:var(--radius-md)}.share-link-url{font-size:var(--text-sm);color:var(--color-taupe);background:transparent}.share-link-actions{display:flex;gap:var(--space-2)}.btn-danger-icon:hover{background:var(--color-danger-light);color:var(--color-danger)}.form-error{padding:var(--space-4);background:var(--color-danger-light);color:var(--color-danger);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-md)}.form-success{padding:var(--space-4);background:var(--color-olive-light);color:var(--color-olive-dark);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-md)}.add-to-cookbook-modal{max-width:min(420px,100%);padding:var(--space-8);overflow-y:auto;flex:1;min-height:0}@media (max-width: 640px){.add-to-cookbook-modal{padding:var(--space-6)}}@media (max-width: 480px){.add-to-cookbook-modal{max-width:100%;padding:var(--space-5);padding-top:var(--space-8)}}.add-to-cookbook-modal h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-2);padding-right:var(--space-12)}.modal-subtitle{font-size:var(--text-sm);color:var(--color-taupe);margin-bottom:var(--space-6)}.cookbook-checkbox-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.cookbook-checkbox-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-cream);border-radius:var(--radius-md);text-align:left;transition:all var(--transition-fast);border:2px solid transparent}.cookbook-checkbox-item:hover:not(:disabled){background:var(--color-olive-light);border-color:var(--color-olive)}.cookbook-checkbox-item.added{background:var(--color-olive-light);border-color:var(--color-olive)}.cookbook-checkbox-item:disabled{cursor:default}.cookbook-checkbox-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-background);color:var(--color-olive);border-radius:var(--radius-md);flex-shrink:0}.cookbook-checkbox-info{flex:1;display:flex;flex-direction:column}.cookbook-checkbox-name{font-size:var(--text-sm);font-weight:600;color:var(--color-charcoal)}.cookbook-checkbox-count{font-size:var(--text-xs);color:var(--color-taupe)}.cookbook-checkbox-status{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--color-olive)}.no-cookbooks-message{padding:var(--space-6);text-align:center;color:var(--color-taupe);font-size:var(--text-sm)}.create-cookbook-btn{width:100%}.shared-view{min-height:100vh;display:flex;flex-direction:column}.shared-header{background:linear-gradient(135deg,var(--color-terracotta-light) 0%,var(--color-cream) 100%);padding:var(--space-8);border-bottom:1px solid var(--color-border)}.shared-header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:var(--space-5)}.shared-header-info h1{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-2)}.shared-header-info p{font-size:var(--text-sm);color:var(--color-taupe);margin-bottom:var(--space-3)}.shared-owner{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-olive);font-weight:500}.shared-main{flex:1;padding:var(--space-8)}.shared-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10)}.shared-error h1{font-family:var(--font-display);font-size:var(--text-2xl);margin:var(--space-5) 0 var(--space-3)}.shared-error p{color:var(--color-taupe);margin-bottom:var(--space-8)}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:focus-visible{outline:3px solid var(--color-terracotta);outline-offset:2px}::selection{background:var(--color-terracotta-light);color:var(--color-charcoal)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-cream)}::-webkit-scrollbar-thumb{background:var(--color-sand);border-radius:var(--radius-full);border:2px solid var(--color-cream)}::-webkit-scrollbar-thumb:hover{background:var(--color-taupe)}.card-delete{position:relative}
