@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.gpu-accelerated{transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.smooth-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overflow-scrolling:touch}img{max-width:100%;height:auto;loading:lazy;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}body{font-display:swap;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.performance-container{contain:layout style paint;content-visibility:auto;contain-intrinsic-size:0 500px}@media (max-width:767px){.mobile-optimized{contain:layout style paint;will-change:auto}.touch-optimized{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.no-repaint{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}}.fast-transition{transition:transform .2s ease-out,opacity .2s ease-out;will-change:transform,opacity}@media (max-width:767px) and (hover:none){.fast-transition{transition:none}}.prevent-shift{contain:layout;overflow:hidden}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.low-memory{contain:strict;content-visibility:hidden}.scroll-container{overflow:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior:contain}input,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:16px}.btn,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.btn:active,button:active{transform:scale(.98)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);will-change:opacity;contain:strict}.modal-content{contain:layout style paint;will-change:transform;transform:translateZ(0)}.virtual-list{contain:strict;overflow-y:auto;-webkit-overflow-scrolling:touch}.list-item{contain:layout style paint;will-change:auto}.nav-item{-webkit-tap-highlight-color:transparent;touch-action:manipulation;will-change:auto}.nav-item:focus,.nav-item:hover{will-change:transform,background-color}.responsive-img{width:100%;height:auto;object-fit:cover;background-color:#f0f0f0}.critical-above-fold{contain:layout style paint}.no-box-shadow{box-shadow:none!important}.no-border{border:none!important}.no-gradient{background:none!important;background-image:none!important}.debug-performance *{outline:1px solid red}.debug-performance .gpu-accelerated{outline:2px solid green}.debug-performance .slow-element{background-color:rgba(255,0,0,.1)}@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&family=DM+Sans:wght@300;400;500&display=swap");@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--ink:#1a1814;--ink2:#4a4740;--ink3:#8a8780;--paper:#faf9f7;--paper2:#f2f0ec;--paper3:#e8e5df;--accent:#2d4a3e;--accent2:#4a7c6b;--accent3:#e8f2ee;--rule:#d8d4cc;--danger:#c0392b;--warn:#b8860b;--success:#2d6a4f;--background:45 30% 97%;--foreground:30 8% 10%;--card:45 30% 98%;--card-foreground:30 8% 10%;--popover:45 30% 98%;--popover-foreground:30 8% 10%;--primary:157 26% 23%;--primary-foreground:45 30% 98%;--secondary:155 20% 90%;--secondary-foreground:157 26% 18%;--muted:45 20% 92%;--muted-foreground:30 5% 45%;--accent-ui:155 30% 92%;--accent-ui-foreground:157 26% 18%;--destructive:4 67% 47%;--destructive-foreground:45 30% 98%;--border:35 12% 83%;--input:35 12% 83%;--ring:157 26% 23%;--radius:0.5rem}[data-theme=dark]{--ink:#e8e5df;--ink2:#b8b4ad;--ink3:#7a776f;--paper:#1a1814;--paper2:#222018;--paper3:#2e2b24;--accent:#4a7c6b;--accent2:#6a9e8e;--accent3:#1a2e28;--rule:#38342c;--danger:#e05a4b;--warn:#d4a017;--success:#4a9a6f}*{box-sizing:border-box;margin:0;padding:0;@apply border-border}body{font-family:var(--font-dm-sans,"DM Sans",system-ui,sans-serif);background:var(--paper);color:var(--ink)}h1,h2,h3,h4,h5,h6{font-family:var(--font-playfair,"Playfair Display",Georgia,serif)}}@layer components{.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--rule);background:var(--paper)}.wordmark{font-family:var(--font-playfair,"Playfair Display",Georgia,serif);font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.wordmark span{color:var(--accent)}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 20px;font-size:13px;cursor:pointer;color:var(--ink2);transition:all .1s}.sidebar-item:hover{background:var(--paper2)}.sidebar-item.active{color:var(--accent);background:var(--accent3);border-right:2px solid var(--accent);font-weight:500}.status-active{background:#e8f5e9;color:#2e7d32}.status-suspended{background:#ffebee;color:#c62828}.status-curator{background:var(--accent3);color:var(--accent)}.admin-si{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;cursor:pointer;color:var(--ink2);transition:background .1s}.admin-si:hover{background:var(--paper2)}.admin-si.active{color:var(--danger);font-weight:500;border-left:2px solid var(--danger)}}body,html{height:100%}.app-shell{height:100vh;background:var(--paper)}.app-main,.app-shell{display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1 1;min-width:0;margin-left:220px;transition:margin-left .25s cubic-bezier(.4,0,.2,1)}.app-content{flex:1 1;overflow-y:auto;padding:28px 32px}.sidebar{position:fixed;top:0;left:0;bottom:0;width:220px;display:flex;flex-direction:column;background:var(--paper);border-right:1px solid var(--rule);z-index:50;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s ease;overflow-y:auto;overflow-x:hidden}.sidebar-logo{padding:18px 16px 12px;flex-shrink:0}.sidebar-wordmark{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-playfair,"Playfair Display",Georgia,serif);font-size:17px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.3px}.sidebar-wordmark span,.sidebar-wordmark svg{color:var(--accent)}.sidebar-section-label{padding:0 16px 6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin-top:6px}.sidebar-nav{display:flex;flex-direction:column;padding:0 8px;gap:2px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:450;color:var(--ink2);text-decoration:none;transition:background .12s ease,color .12s ease;cursor:pointer;position:relative}.sidebar-item:hover{transform:translateX(2px)}.sidebar-item.active,.sidebar-item:hover{background:var(--accent3);color:var(--accent)}.sidebar-item.active{font-weight:450}.sidebar-item-arrow{margin-left:auto;opacity:.5}.sidebar-bottom{padding:0 8px 12px;display:flex;flex-direction:column;gap:2px;flex-shrink:0}.sidebar-divider{height:1px;background:var(--rule);margin:8px 8px 10px}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:40}.topbar{justify-content:space-between;padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:60;flex-shrink:0;gap:12px}.topbar,.topbar-left{display:flex;align-items:center}.topbar-left{gap:10px}.topbar-nav{gap:4px}.topbar-link,.topbar-nav{display:flex;align-items:center}.topbar-link{gap:6px;padding:6px 12px;border-radius:7px;font-size:13px;color:var(--ink2);text-decoration:none;transition:background .12s ease,color .12s ease}.topbar-link:hover{background:var(--paper2);color:var(--ink)}.hamburger-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink2);cursor:pointer;transition:all .15s ease;flex-shrink:0}.hamburger-btn:hover{background:var(--accent3);color:var(--accent);border-color:var(--accent);transform:scale(1.05)}.topbar-wordmark-mobile{display:none;align-items:center;gap:7px;font-family:var(--font-playfair,"Playfair Display",Georgia,serif);font-size:16px;font-weight:700;color:var(--ink);text-decoration:none}.topbar-wordmark-mobile .logo-accent,.topbar-wordmark-mobile svg{color:var(--accent)}.avatar-btn{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:13;transition:all .15s ease;position:relative;overflow:hidden;justify-content:center;transition:background .12s ease;flex-shrink:0;letter-spacing:.02em}.avatar-btn:hover{background:var(--accent2);transform:scale(1.1);box-shadow:0 4px 12px rgba(45,74,62,.3)}.avatar-btn:active{transform:scale(.95)}.avatar-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--paper);border:1px solid var(--rule);border-radius:10px;min-width:180px;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.1),0 2px 6px rgba(0,0,0,.06);overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.avatar-dropdown-email{padding:10px 14px 6px;font-size:11px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-dropdown-divider{height:1px;background:var(--rule)}.avatar-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 14px;font-size:13px;color:var(--ink2);text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:background .1s ease}.avatar-dropdown-item:hover{background:var(--accent3);color:var(--accent);transform:translateX(2px)}.avatar-dropdown-item.danger{color:var(--danger)}.avatar-btn,.avatar-dropdown-item{pointer-events:auto!important}@media (max-width:767px){.avatar-dropdown{position:fixed;top:60px;right:12px;width:220px;z-index:9999}.avatar-btn,.hamburger-btn,.topbar-link{min-height:44px;min-width:44px;touch-action:manipulation}.notif-panel{position:fixed!important;top:60px!important;left:8px!important;right:8px!important;width:auto!important;max-width:100%!important;z-index:9999!important;max-height:calc(100vh - 80px)!important;overflow-y:auto!important}.notif-backdrop{display:block!important}}.avatar-dropdown-item.danger:hover{background:rgba(192,57,43,.1);color:var(--danger);transform:translateX(2px)}.admin-shell{flex-direction:column;height:100vh;background:var(--paper)}.admin-body,.admin-shell{display:flex;overflow:hidden}.admin-body{flex:1 1}.admin-sidebar{width:200px;border-right:1px solid var(--rule);padding:16px 0;background:var(--paper);flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column}.admin-content{flex:1 1;padding:28px 32px;overflow-y:auto}.admin-si{display:flex;align-items:center;gap:9px;padding:8px 16px;font-size:13px;color:var(--ink2);text-decoration:none;border-radius:0;transition:background .1s ease,color .1s ease;cursor:pointer}.admin-si:hover{background:var(--paper2);color:var(--ink)}.admin-si.active{color:var(--accent);background:var(--accent3);font-weight:600;border-left:2px solid var(--accent)}.status-active{background:#e8f5e9;color:#2e7d32}.status-suspended{background:#ffebee;color:#c62828}.status-curator{background:var(--accent3);color:var(--accent)}@media (max-width:768px){.sidebar{transform:translateX(-100%);box-shadow:none;top:0;padding-top:60px}.sidebar.open{transform:translateX(0);box-shadow:8px 0 32px rgba(0,0,0,.15)}.sidebar-backdrop{display:block}.sidebar-backdrop.visible{opacity:1;pointer-events:all}.app-main{margin-left:0}.hamburger-btn,.topbar-wordmark-mobile{display:flex}.topbar-nav{display:none!important}.topbar-link{padding:8px 12px;font-size:13px}.app-content{padding:16px}.hide-mobile{display:none!important}.feed-layout,.stack-mobile{flex-direction:column!important}.feed-layout{display:flex!important;padding:0!important;gap:0!important}.feed-main{max-width:100%!important}.profile-layout{flex-direction:column!important}.profile-sidebar{flex:0 0 auto!important;width:100%!important}}@keyframes toggleOn{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes toggleOff{0%{transform:scale(1)}50%{transform:scale(.9)}to{transform:scale(1)}}.toggle-feedback-on{animation:toggleOn .3s ease-in-out}.toggle-feedback-off{animation:toggleOff .3s ease-in-out}@keyframes buttonPress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.button-press-feedback{animation:buttonPress .15s ease-in-out}@keyframes successPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}.success-feedback{animation:successPulse .4s ease-in-out;background:var(--success)!important;color:white!important}.spacing-tight{margin:.5rem 0}.spacing-normal{margin:1rem 0}.spacing-loose{margin:1.5rem 0}.spacing-section{margin:2rem 0}.gap-tight{gap:.5rem}.gap-normal{gap:1rem}.gap-loose{gap:1.5rem}.gap-section{gap:2rem}.padding-tight{padding:.5rem}.padding-normal{padding:1rem}.padding-loose{padding:1.5rem}.padding-section{padding:2rem}.card-spacing>*+*{margin-top:1rem}.card-spacing-tight>*+*{margin-top:.5rem}.card-spacing-loose>*+*{margin-top:1.5rem}.form-field{margin-bottom:1rem}.form-field-tight{margin-bottom:.5rem}.form-field-loose{margin-bottom:1.5rem}.section{margin-bottom:2rem}.section-tight{margin-bottom:1rem}.section-loose{margin-bottom:3rem}:root{--bg-paper:var(--paper);--bg-accent:var(--accent);--bg-accent2:var(--accent2);--bg-accent3:var(--accent3);--text-ink:var(--ink);--text-ink2:var(--ink2);--text-ink3:var(--ink3);--text-danger:var(--danger);--text-success:var(--success);--text-warning:var(--warn)}.bg-paper{background:var(--paper)}.bg-accent{background:var(--accent)}.bg-accent2{background:var(--accent2)}.bg-accent3{background:var(--accent3)}.text-ink{color:var(--ink)}.text-ink2{color:var(--ink2)}.text-ink3{color:var(--ink3)}.text-accent{color:var(--accent)}.text-accent2{color:var(--accent2)}.text-white-70{color:rgba(255,255,255,.7)}.text-white-80{color:rgba(255,255,255,.8)}.text-white-90{color:rgba(255,255,255,.9)}.text-white-60{color:rgba(255,255,255,.6)}.bg-white-10{background:rgba(255,255,255,.1)}.border-white-20{border-color:rgba(255,255,255,.2)}.bg-white-20{background:rgba(255,255,255,.2)}.show-mobile-wordmark{display:none}@media (max-width:768px){.show-mobile-wordmark{display:block!important}.auth-card-left,.auth-card-right{padding:32px 24px!important}.auth-step-label{display:none!important}.auth-step-connector{width:12px!important}.auth-step-indicator{gap:4px!important;margin-bottom:24px!important}.auth-name-grid{grid-template-columns:1fr!important}}@media (max-width:400px){.auth-card-right{padding:24px 16px!important}}.professional-signup{font-family:var(--font-dm-sans,"DM Sans",system-ui,sans-serif)}.professional-signup .font-serif{font-family:var(--font-playfair,"Playfair Display",Georgia,serif)}@media (max-width:1024px){.lg\\:hidden{display:block!important}.lg\\:flex{display:none!important}}@media (max-width:768px){.professional-signup .max-w-sm{max-width:100%!important;padding:0 16px!important}.professional-signup .text-3xl{font-size:1.875rem!important;line-height:1.2!important}.professional-signup .text-4xl{font-size:2.25rem!important;line-height:1.1!important}.professional-signup .p-12{padding:2rem!important}.professional-signup .p-8{padding:1.5rem!important}.professional-signup .p-6{padding:1rem!important}.professional-signup .p-4{padding:.75rem!important}.professional-signup .space-y-6>*+*{margin-top:1rem!important}.professional-signup .space-y-4>*+*{margin-top:.75rem!important}.professional-signup .space-y-3>*+*{margin-top:.5rem!important}}@media (max-width:480px){.professional-signup .max-w-sm{padding:0 12px!important}.professional-signup .text-3xl{font-size:1.5rem!important}.professional-signup .text-4xl{font-size:1.875rem!important}.professional-signup .p-12{padding:1.5rem!important}.professional-signup .p-8{padding:1rem!important}.professional-signup .p-6{padding:.75rem!important}.professional-signup .px-6{padding-left:.75rem!important;padding-right:.75rem!important}.professional-signup .py-3{padding-top:.5rem!important;padding-bottom:.5rem!important}.signup-container{padding:16px!important}.signup-branding,.signup-form{padding:24px 16px!important}.signup-branding h1{font-size:1.25rem!important}.topbar{padding:8px 12px!important}.wordmark{font-size:14px!important}}.bottom-nav{display:none}@media (max-width:768px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--paper);border-top:1px solid var(--rule);z-index:70;align-items:stretch;transition:transform .25s cubic-bezier(.4,0,.2,1)}.bottom-nav.hidden{transform:translateY(100%)}.bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;color:var(--ink3);text-decoration:none;transition:color .12s;padding:8px 0}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item:active{opacity:.7}.app-content{padding-bottom:76px!important}}.signup-container{will-change:transform}.signup-branding{will-change:opacity}.signup-form{will-change:transform}.signup-branding .platform-explanation p{line-height:1.6!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.signup-branding .feature-list,.signup-form .form-description{line-height:1.5!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.signup-branding{color:rgba(255,255,255,.9)!important}.signup-branding div,.signup-branding p{color:inherit!important}.signup-branding .platform-explanation{background:rgba(255,255,255,.2)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,.3)!important}@media (max-width:768px){.feed-layout{grid-template-columns:1fr!important;gap:16px!important;padding:"0 16px"!important}.feed-layout>div:last-child{display:none!important}.feed-main{max-width:100%!important}.collections-layout{grid-template-columns:1fr!important;gap:24px!important;padding:"0 16px"!important}.collections-layout>div:first-child{position:static!important}.collections-layout>div:last-child{max-width:100%!important}}@media (max-width:640px){.settings-2col{grid-template-columns:1fr!important}.settings-social-row{grid-template-columns:1fr auto!important}.settings-social-row .settings-label-col{grid-column:1/-1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fadein{animation:fadeIn .2s ease}