html{scroll-behavior:smooth}body{margin:0;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafaf9;color:#44403c}#root{min-height:100vh}:root{--espresso: #1C1917;--umber: #292524;--walnut: #44403C;--stone: #57534E;--taupe: #78716C;--sand: #A8A29E;--linen: #D6D3D1;--cream: #E7E5E4;--ivory: #F5F5F4;--paper: #FAFAF9;--accent: #C2410C;--accent-warm: #EA580C;--accent-soft: rgba(194, 65, 12, .1);--accent-glow: rgba(194, 65, 12, .3);--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "IBM Plex Sans", -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--paper);color:var(--walnut);line-height:1.7;min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;opacity:.4;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}.app{min-height:100vh;position:relative;z-index:1}.navbar{position:fixed;top:0;left:0;right:0;background:#fafaf9f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-md) var(--space-xl);display:flex;justify-content:space-between;align-items:center;z-index:1000;border-bottom:1px solid var(--linen)}.logo{font-size:1.5rem;font-weight:500;color:var(--espresso);font-family:var(--font-serif);font-style:italic}.nav-links{display:flex;gap:var(--space-xl);list-style:none}.nav-links a{text-decoration:none;color:var(--stone);font-weight:400;font-family:var(--font-sans);font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;transition:color .2s ease;position:relative}.nav-links a:hover{color:var(--accent)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .2s ease}.nav-links a:hover:after{width:100%}.hero{min-height:70vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream) 0%,var(--ivory) 100%);padding:var(--space-4xl) var(--space-xl) var(--space-3xl);position:relative;overflow:hidden;border-bottom:1px solid var(--linen)}.hero:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;background:var(--accent-soft);border-radius:50%;filter:blur(80px);opacity:.5}.hero-content{max-width:700px;text-align:center;color:var(--espresso);position:relative;z-index:1}.hero h1{font-family:var(--font-serif);font-size:3.5rem;margin-bottom:var(--space-md);font-weight:400;color:var(--espresso);letter-spacing:.02em;line-height:1.2}.hero .tagline{font-family:var(--font-serif);font-size:1.5rem;margin-bottom:var(--space-lg);color:var(--stone);font-style:italic;font-weight:400}.hero .description{font-family:var(--font-sans);font-size:1.1rem;line-height:1.8;color:var(--walnut);font-weight:300}.section-container{max-width:900px;margin:0 auto;padding:0 var(--space-xl)}.section-title{text-align:center;font-family:var(--font-serif);font-size:2.5rem;font-weight:500;margin-bottom:var(--space-sm);color:var(--espresso);position:relative;display:inline-block;width:100%}.section-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:2px;background:var(--accent)}.section-subtitle{text-align:center;font-family:var(--font-sans);font-size:1rem;color:var(--taupe);margin-bottom:var(--space-3xl);font-style:italic;font-weight:300}.about{padding:var(--space-4xl) var(--space-xl);background:var(--paper)}.about-content{display:grid;grid-template-columns:300px 1fr;gap:var(--space-3xl);align-items:start}.about-image{width:100%;aspect-ratio:1;background:var(--accent);border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:6rem;color:var(--paper);font-style:italic;box-shadow:0 4px 24px #1c19170f}.about-text h2{font-family:var(--font-serif);font-size:1.75rem;font-weight:500;margin-bottom:var(--space-md);color:var(--espresso)}.about-text p{margin-bottom:var(--space-lg);color:var(--stone);font-weight:300;line-height:1.8}.about-text .highlight{background:var(--cream);padding:var(--space-xl);border-radius:0 4px 4px 0;margin:var(--space-xl) 0;border:1px solid var(--linen);border-left:4px solid var(--accent)}.about-text .highlight p{font-style:italic;color:var(--walnut);margin-bottom:0}.about-link{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--accent);text-decoration:none;font-weight:400;font-family:var(--font-sans);font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;transition:all .2s ease}.about-link:hover{color:var(--accent-warm);gap:.75rem}.about-link:after{content:"→";transition:transform .2s ease}.about-link:hover:after{transform:translate(4px)}.blog{padding:var(--space-4xl) var(--space-xl);background:var(--ivory)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl)}.blog-card{background:var(--paper);border-radius:4px;overflow:hidden;border:1px solid var(--linen);box-shadow:0 4px 24px #1c19170f;transition:transform .2s ease,box-shadow .2s ease}.blog-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #1c19171a}.blog-card-image{height:200px;background:linear-gradient(135deg,var(--cream) 0%,var(--linen) 100%);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:4rem;color:var(--sand);font-style:italic}.blog-card-content{padding:var(--space-xl)}.blog-card-date{font-size:.7rem;color:var(--taupe);font-family:var(--font-sans);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.15em}.blog-card-date span{color:var(--accent)}.blog-card h3{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;margin-bottom:var(--space-md);color:var(--espresso);line-height:1.3}.blog-card p{color:var(--stone);font-family:var(--font-sans);font-size:.95rem;font-weight:300;margin-bottom:var(--space-lg);line-height:1.7}.read-more{color:var(--accent);text-decoration:none;font-weight:400;font-family:var(--font-sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;display:inline-flex;align-items:center;gap:var(--space-sm);transition:all .2s ease}.read-more:hover{color:var(--accent-warm)}.read-more:after{content:"→";transition:transform .2s ease}.read-more:hover:after{transform:translate(4px)}.gallery{padding:var(--space-4xl) var(--space-xl);background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-lg)}.gallery-item{aspect-ratio:1;border-radius:4px;overflow:hidden;cursor:pointer;transition:transform .2s ease;position:relative;border:1px solid var(--linen);box-shadow:0 4px 20px #1c19170a}.gallery-item:hover{transform:scale(1.02)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:3rem;font-style:italic;color:var(--paper)}.gallery-placeholder.nature{background:linear-gradient(135deg,#78716c,#a8a29e)}.gallery-placeholder.travel{background:linear-gradient(135deg,#57534e,#78716c)}.gallery-placeholder.code{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-warm) 100%)}.gallery-placeholder.coffee{background:linear-gradient(135deg,#44403c,#57534e)}.gallery-placeholder.music{background:linear-gradient(135deg,var(--accent-warm) 0%,#EA580C 100%)}.gallery-placeholder.books{background:linear-gradient(135deg,var(--umber) 0%,var(--walnut) 100%)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(28,25,23,.8),transparent);color:var(--paper);padding:var(--space-lg) var(--space-md) var(--space-md);opacity:0;transition:opacity .2s ease}.gallery-overlay h4{font-family:var(--font-serif);font-size:1.1rem;font-weight:400;font-style:italic}.connect{padding:var(--space-4xl) var(--space-xl);background:var(--espresso);color:var(--paper);position:relative}.connect .section-title{color:var(--paper)}.connect .section-title:after{background:var(--accent)}.connect .section-subtitle{color:var(--sand)}.connect-content{max-width:600px;margin:0 auto;text-align:center}.connect-links{display:flex;justify-content:center;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-xl)}.connect-link{display:flex;align-items:center;gap:var(--space-sm);padding:.75rem var(--space-lg);background:#fafaf91a;color:var(--paper);text-decoration:none;border-radius:50px;font-family:var(--font-sans);font-size:.85rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;border:1px solid rgba(250,250,249,.2);transition:all .2s ease}.connect-link:hover{background:#fafaf926;border-color:#fafaf94d;transform:translateY(-2px)}.madappz-link{background:var(--accent);margin-top:var(--space-xl);padding:var(--space-md) var(--space-2xl);font-weight:500;border-color:var(--accent)}.madappz-link:hover{background:var(--accent-warm);border-color:var(--accent-warm);box-shadow:0 4px 20px var(--accent-glow)}.footer{background:var(--umber);color:var(--sand);padding:var(--space-2xl);text-align:center;position:relative}.footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:1px;background:var(--walnut)}.footer p{font-family:var(--font-sans);font-size:.85rem;font-style:italic;font-weight:300}.footer a{color:var(--accent);text-decoration:none;transition:color .2s ease}.footer a:hover{color:var(--accent-warm)}.connect-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);max-width:900px;margin:0 auto}.connect-form{background:#fafaf90d;border-radius:8px;padding:var(--space-2xl);border:1px solid rgba(250,250,249,.1)}.connect-form h3,.connect-links-section h3{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;margin-bottom:var(--space-xl);color:var(--cream)}.connect-form .form-group{margin-bottom:var(--space-md)}.connect-form input,.connect-form textarea{width:100%;padding:var(--space-md) var(--space-lg);background:#fafaf914;border:1px solid rgba(250,250,249,.15);border-radius:6px;color:var(--paper);font-family:var(--font-sans);font-size:.95rem;transition:all .2s ease}.connect-form input::placeholder,.connect-form textarea::placeholder{color:var(--sand);opacity:.6}.connect-form input:focus,.connect-form textarea:focus{outline:none;border-color:var(--accent);background:#fafaf91a;box-shadow:0 0 0 3px var(--accent-soft)}.connect-form textarea{resize:vertical;min-height:120px}.connect-form .btn-primary{width:100%;padding:var(--space-md) var(--space-xl);background:var(--accent);color:var(--paper);border:none;border-radius:6px;font-family:var(--font-sans);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .2s ease;margin-top:var(--space-md)}.connect-form .btn-primary:hover{background:var(--accent-warm);transform:translateY(-2px);box-shadow:0 4px 20px var(--accent-glow)}.connect-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-status{padding:var(--space-md);border-radius:6px;font-size:.9rem;text-align:center;margin-top:var(--space-md)}.contact-status.success{background:#22c55e33;color:#86efac;border:1px solid rgba(34,197,94,.3)}.contact-status.error{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.connect-links-section{display:flex;flex-direction:column;justify-content:center}.connect-links-section .connect-links{flex-direction:column;align-items:stretch;gap:var(--space-md);margin-top:0}.connect-links-section .connect-link{justify-content:center}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream) 0%,var(--ivory) 100%);padding:var(--space-xl)}.login-card{background:var(--paper);border-radius:12px;padding:var(--space-3xl);width:100%;max-width:420px;box-shadow:0 20px 60px #1c191726;border:1px solid var(--linen)}.login-card h1{font-family:var(--font-serif);font-size:2rem;font-weight:500;color:var(--espresso);text-align:center;margin-bottom:var(--space-2xl)}.login-card .form-group{margin-bottom:var(--space-lg)}.login-card label{display:block;font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:var(--walnut);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.login-card input{width:100%;padding:var(--space-md) var(--space-lg);background:var(--ivory);border:1px solid var(--linen);border-radius:6px;font-family:var(--font-sans);font-size:1rem;color:var(--espresso);transition:all .2s ease}.login-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.error-message{background:#ef44441a;color:#dc2626;padding:var(--space-md);border-radius:6px;font-size:.9rem;margin-bottom:var(--space-lg);border:1px solid rgba(239,68,68,.2)}.button-group{display:flex;gap:var(--space-md);margin-top:var(--space-xl)}.btn-primary{flex:1;padding:var(--space-md) var(--space-xl);background:var(--accent);color:var(--paper);border:none;border-radius:6px;font-family:var(--font-sans);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:var(--accent-warm);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.btn-secondary{flex:1;padding:var(--space-md) var(--space-xl);background:transparent;color:var(--stone);border:1px solid var(--linen);border-radius:6px;font-family:var(--font-sans);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--cream);border-color:var(--sand)}.admin-panel{min-height:100vh;background:var(--ivory)}.admin-header{background:var(--espresso);color:var(--paper);padding:var(--space-lg) var(--space-2xl);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px #0000001a}.admin-header h1{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;font-style:italic}.admin-header-actions{display:flex;align-items:center;gap:var(--space-lg)}.user-info{font-size:.85rem;color:var(--sand);font-style:italic}.admin-header .btn-secondary{padding:var(--space-sm) var(--space-lg);background:#ffffff1a;border-color:#fff3;color:var(--paper);font-size:.8rem}.admin-header .btn-secondary:hover{background:#ffffff26}.btn-logout{padding:var(--space-sm) var(--space-lg);background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:6px;font-family:var(--font-sans);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .2s ease}.btn-logout:hover{background:var(--accent);color:var(--paper)}.admin-tabs{background:var(--paper);border-bottom:1px solid var(--linen);display:flex;padding:0 var(--space-2xl)}.admin-tabs button{padding:var(--space-lg) var(--space-2xl);background:transparent;border:none;font-family:var(--font-sans);font-size:.9rem;font-weight:500;color:var(--stone);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .2s ease;position:relative}.admin-tabs button:hover{color:var(--espresso)}.admin-tabs button.active{color:var(--accent)}.admin-tabs button.active:after{content:"";position:absolute;bottom:0;left:var(--space-lg);right:var(--space-lg);height:3px;background:var(--accent);border-radius:3px 3px 0 0}.admin-content{padding:var(--space-2xl);max-width:1200px;margin:0 auto}.settings-panel{max-width:700px}.settings-section{background:var(--paper);border-radius:12px;padding:var(--space-2xl);margin-bottom:var(--space-xl);border:1px solid var(--linen);box-shadow:0 4px 20px #1c19170a}.settings-section h2{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--espresso);margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--linen)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--walnut);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-md) var(--space-lg);background:var(--ivory);border:1px solid var(--linen);border-radius:6px;font-family:var(--font-sans);font-size:.95rem;color:var(--espresso);transition:all .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-group textarea{resize:vertical;min-height:100px}.btn-test{padding:var(--space-sm) var(--space-lg);background:var(--walnut);color:var(--paper);border:none;border-radius:6px;font-family:var(--font-sans);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .2s ease}.btn-test:hover{background:var(--stone)}.btn-test:disabled{opacity:.5;cursor:not-allowed}.input-with-actions{display:flex;gap:4px;align-items:center}.input-with-actions input{flex:1}.field-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--ivory);border:1px solid var(--linen);border-radius:6px;color:var(--stone);cursor:pointer;transition:all .2s ease;flex-shrink:0}.field-action-btn:hover{background:var(--cream);border-color:var(--accent);color:var(--accent)}.field-action-btn svg{width:14px;height:14px}.message{padding:var(--space-md) var(--space-lg);border-radius:6px;font-size:.9rem;margin-bottom:var(--space-lg)}.message.success{background:#22c55e1a;color:#166534;border:1px solid rgba(34,197,94,.2)}.message.error{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.blog-manager,.gallery-manager{background:var(--paper);border-radius:12px;padding:var(--space-2xl);border:1px solid var(--linen);box-shadow:0 4px 20px #1c19170a}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--linen)}.manager-header h2{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--espresso)}.posts-list{display:flex;flex-direction:column;gap:var(--space-md)}.post-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background:var(--ivory);border-radius:8px;border:1px solid var(--linen);transition:all .2s ease}.post-item:hover{border-color:var(--sand);box-shadow:0 2px 8px #1c19170f}.post-item.draft{opacity:.7;border-style:dashed}.post-info h3{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--espresso);margin-bottom:var(--space-xs)}.post-meta{display:flex;gap:var(--space-md);font-size:.75rem;margin-bottom:var(--space-sm)}.post-date{color:var(--taupe)}.post-category{color:var(--accent);font-weight:500}.post-status{padding:2px 8px;border-radius:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.post-status.published{background:#22c55e1a;color:#166534}.post-status.draft{background:#eab3081a;color:#a16207}.post-excerpt{color:var(--stone);font-size:.85rem;line-height:1.5}.post-actions{display:flex;gap:var(--space-sm)}.btn-small{padding:var(--space-sm) var(--space-md);background:var(--paper);color:var(--walnut);border:1px solid var(--linen);border-radius:4px;font-family:var(--font-sans);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease}.btn-small:hover{background:var(--ivory);border-color:var(--sand)}.btn-danger{color:#dc2626;border-color:#dc26264d}.btn-danger:hover{background:#dc26261a;border-color:#dc2626}.empty-message{text-align:center;color:var(--taupe);font-style:italic;padding:var(--space-3xl)}.blog-editor,.gallery-editor{background:var(--paper);border-radius:12px;padding:var(--space-2xl);border:1px solid var(--linen);box-shadow:0 4px 20px #1c19170a}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--linen)}.editor-header h2{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--espresso)}.editor-form{display:flex;flex-direction:column;gap:var(--space-lg)}.editor-main{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);min-height:400px}.editor-pane,.preview-pane{display:flex;flex-direction:column}.editor-pane label,.preview-pane label{font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--walnut);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.editor-pane textarea{flex:1;min-height:350px;font-family:IBM Plex Mono,monospace;font-size:.9rem;line-height:1.6;resize:none}.markdown-preview{flex:1;padding:var(--space-lg);background:var(--ivory);border:1px solid var(--linen);border-radius:6px;overflow-y:auto;font-family:var(--font-sans);font-size:.95rem;line-height:1.7;color:var(--walnut)}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{font-family:var(--font-serif);color:var(--espresso);margin-top:var(--space-lg);margin-bottom:var(--space-md)}.markdown-preview p{margin-bottom:var(--space-md)}.markdown-preview code{background:var(--cream);padding:2px 6px;border-radius:4px;font-family:IBM Plex Mono,monospace;font-size:.85em}.markdown-preview pre{background:var(--espresso);color:var(--cream);padding:var(--space-lg);border-radius:6px;overflow-x:auto;margin-bottom:var(--space-md)}.markdown-preview pre code{background:none;padding:0}.checkbox-group label{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer}.checkbox-group input[type=checkbox]{width:auto}.gallery-grid.admin-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-lg)}.gallery-admin-item{background:var(--ivory);border-radius:8px;overflow:hidden;border:1px solid var(--linen);transition:all .2s ease}.gallery-admin-item:hover{border-color:var(--sand);box-shadow:0 4px 12px #1c191714}.gallery-thumbnail{aspect-ratio:1;background:linear-gradient(135deg,var(--cream) 0%,var(--linen) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-thumbnail img{width:100%;height:100%;object-fit:cover}.gallery-item-info{padding:var(--space-md)}.gallery-item-info h4{font-family:var(--font-serif);font-size:1rem;font-weight:500;color:var(--espresso);margin-bottom:var(--space-xs)}.gallery-category{font-size:.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.gallery-item-actions{padding:var(--space-sm) var(--space-md) var(--space-md);display:flex;gap:var(--space-sm)}.image-input-group{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.image-input-group input[type=url]{flex:1;min-width:200px}.or-divider{color:var(--taupe);font-size:.85rem;font-style:italic}.image-input-group input[type=file]{font-size:.85rem}.image-preview{margin-top:var(--space-md);border-radius:8px;overflow:hidden;border:1px solid var(--linen);max-width:300px}.image-preview img{width:100%;display:block}.gallery-image{width:100%;height:100%;object-fit:cover}.setup-wizard{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream) 0%,var(--ivory) 100%);padding:var(--space-xl)}.setup-card{background:var(--paper);border-radius:12px;padding:var(--space-3xl);width:100%;max-width:500px;box-shadow:0 20px 60px #1c191726;border:1px solid var(--linen)}.setup-header{text-align:center;margin-bottom:var(--space-2xl)}.setup-header h1{font-family:var(--font-serif);font-size:2rem;font-weight:500;color:var(--espresso);margin-bottom:var(--space-sm)}.setup-header p{color:var(--taupe);font-size:.95rem}.step-indicator{display:flex;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-2xl)}.step{width:10px;height:10px;border-radius:50%;background:var(--linen);transition:all .2s ease}.step.active{background:var(--accent);transform:scale(1.2)}.step.completed{background:var(--accent)}.modal-overlay{position:fixed;inset:0;background:#1c1917e6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--space-xl)}.modal-content{background:var(--paper);border-radius:12px;overflow:hidden;max-width:800px;max-height:90vh;position:relative;box-shadow:0 20px 60px #0000004d}.modal-content img{max-width:100%;max-height:70vh;display:block}.modal-placeholder{width:400px;height:400px;display:flex;align-items:center;justify-content:center;font-size:6rem;background:var(--cream)}.modal-info{padding:var(--space-xl)}.modal-info h3{font-family:var(--font-serif);font-size:1.25rem;color:var(--espresso);margin-bottom:var(--space-sm)}.modal-info p{color:var(--stone);font-size:.95rem}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);width:36px;height:36px;background:var(--paper);border:none;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);box-shadow:0 2px 8px #0003;transition:all .2s ease}.modal-close:hover{background:var(--accent);color:var(--paper)}.blog-post-page{min-height:100vh;background:var(--paper)}.blog-post-page .navbar{position:relative}.btn-back{padding:var(--space-sm) var(--space-lg);background:transparent;border:1px solid var(--linen);border-radius:6px;font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--stone);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:var(--ivory);border-color:var(--sand)}.blog-post-full{max-width:700px;margin:0 auto;padding:var(--space-3xl) var(--space-xl)}.post-header{margin-bottom:var(--space-3xl);text-align:center}.post-header .post-category{font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;font-weight:500;margin-bottom:var(--space-md);display:inline-block}.post-header h1{font-family:var(--font-serif);font-size:2.5rem;font-weight:500;color:var(--espresso);line-height:1.3;margin-bottom:var(--space-md)}.post-header time{color:var(--taupe);font-size:.9rem;font-style:italic}.post-content{font-family:var(--font-sans);font-size:1.05rem;line-height:1.8;color:var(--walnut)}.post-content h1,.post-content h2,.post-content h3{font-family:var(--font-serif);color:var(--espresso);margin-top:var(--space-2xl);margin-bottom:var(--space-lg)}.post-content p{margin-bottom:var(--space-lg)}.post-content a{color:var(--accent);text-decoration:underline}.post-content a:hover{color:var(--accent-warm)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper)}.loading-spinner{width:40px;height:40px;border:3px solid var(--linen);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-md)}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:var(--taupe);font-style:italic}.admin-link{background:transparent;border:none;color:var(--taupe);font-size:.75rem;cursor:pointer;margin-top:var(--space-md);font-family:var(--font-sans);transition:color .2s ease}.admin-link:hover{color:var(--accent)}.flex-grow{flex-grow:1}@media(max-width:768px){.navbar{padding:var(--space-md)}.nav-links{display:none}.hero h1{font-size:2.5rem}.hero .tagline{font-size:1.2rem}.about-content{grid-template-columns:1fr}.about-image{max-width:200px;margin:0 auto}.section-title{font-size:2rem}.blog-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.connect-grid{grid-template-columns:1fr}.admin-header{flex-direction:column;gap:var(--space-md);text-align:center}.admin-header-actions{flex-wrap:wrap;justify-content:center}.admin-tabs{overflow-x:auto;padding:0 var(--space-md)}.admin-tabs button{padding:var(--space-md) var(--space-lg);font-size:.8rem}.editor-main,.form-row{grid-template-columns:1fr}.post-item{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.post-actions{width:100%}.post-actions .btn-small{flex:1}}.category-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg);min-height:40px}.category-tag{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--accent-soft);color:var(--accent);border-radius:20px;font-size:.85rem;font-weight:500}.category-remove{background:none;border:none;color:var(--accent);cursor:pointer;font-size:1rem;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.category-remove:hover{background:var(--accent);color:var(--paper)}.category-add{display:flex;gap:var(--space-md)}.category-add input{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--linen);border-radius:6px;font-size:.9rem}.category-add input:focus{outline:none;border-color:var(--accent)}.settings-description{color:var(--taupe);font-size:.9rem;margin-bottom:var(--space-lg);line-height:1.6}.backup-actions{margin-bottom:var(--space-xl)}.settings-divider{border:none;border-top:1px solid var(--linen);margin:var(--space-xl) 0}.settings-section h3{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--espresso);margin-bottom:var(--space-md)}.restore-options{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--ivory);border-radius:8px;border:1px solid var(--linen)}.restore-options p{margin-bottom:var(--space-md);color:var(--walnut);font-size:.9rem}.restore-options label{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:.9rem;color:var(--stone);cursor:pointer}.restore-options input[type=checkbox]{width:auto;margin:0}.restore-options .btn-primary{margin-top:var(--space-lg)}
