:root{--color-primary: #006d77;--color-secondary: #83c5be;--color-accent: #edf6f9;--color-background: #f0f8ff;--color-text: #2b2d42;--color-text-light: #666666;--color-white: #ffffff;--font-main: "Open Sans", sans-serif;--font-heading: "Merriweather", serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem;--transition-fast: .2s ease;--transition-medium: .4s ease}::view-transition-old(root),::view-transition-new(root){animation-duration:.5s}.dark-mode{--color-primary: #48cae4;--color-secondary: #90e0ef;--color-accent: #1e2022;--color-background: #0d1117;--color-text: #e6edf3;--color-text-light: #8b949e;--color-white: #161b22}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--color-background);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-sm)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.nav-links a{position:relative;text-decoration:none}.nav-links a:after{content:"";position:absolute;width:0;height:2px;bottom:-4px;left:0;background-color:var(--color-secondary);transition:width var(--transition-fast)}.nav-links a:hover:after{width:100%}img{max-width:100%;height:auto;display:block}main{margin:0;padding:0}.page-home{margin:0;padding:0}.page-post{padding-top:var(--spacing-lg)}.btn{display:inline-block;padding:.8rem 1.5rem;background-color:var(--color-primary);color:var(--color-white);border-radius:6px;text-decoration:none}.btn:link,.btn:visited{color:var(--color-white);text-decoration:none}.btn:hover{color:var(--color-white);background-color:var(--color-secondary);text-decoration:none}.btn:active,.btn:focus{color:var(--color-white);background-color:var(--color-primary-darker);text-decoration:none;outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-medium) forwards}#app{display:flex;flex-direction:column;min-height:100vh}.reading-progress-container{position:fixed;top:0;left:0;width:100%;height:4px;background:transparent;z-index:1001;pointer-events:none}.reading-progress-bar{height:100%;background:var(--color-secondary);width:0%;transition:width .1s ease-out}.drop-cap:first-letter{float:left;font-size:3.5rem;line-height:.8;font-weight:700;margin-right:.5rem;margin-top:.2rem;color:var(--color-primary);font-family:var(--font-heading)}.share-tooltip{position:fixed;bottom:2rem;right:2rem;display:flex;gap:.5rem;background:var(--color-white);padding:.5rem;border-radius:50px;box-shadow:0 4px 20px #00000026;transform:translateY(100px);opacity:0;transition:all var(--transition-medium);z-index:90}.share-tooltip.visible{transform:translateY(0);opacity:1}.share-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--color-accent);color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);font-size:1.2rem}.share-btn:hover{background:var(--color-primary);color:var(--color-white);transform:scale(1.1)}.theme-toggle{background:none;border:none;cursor:pointer;padding:.4rem;border-radius:50%;color:var(--color-text);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.theme-toggle:hover{background-color:#0000000d}.dark-mode .theme-toggle:hover{background-color:#ffffff1a}main{flex:1}.featured-image{width:100%;max-height:500px;object-fit:cover;border-radius:8px;margin-bottom:3rem;box-shadow:0 4px 20px #0000001a}.site-header{position:sticky;top:0;left:0;width:100%;background-color:var(--color-white);box-shadow:0 2px 10px #0000000d;z-index:100;padding:1rem 0}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-primary)}.nav-links{display:flex;list-style:none;gap:var(--spacing-md);align-items:center}.nav-links a{font-weight:600;font-size:.95rem}.controls{display:flex;gap:.5rem;align-items:center}.controls select{padding:.4rem .8rem;border:1px solid rgba(0,0,0,.1);border-radius:20px;background-color:var(--color-background);font-family:var(--font-main);font-size:.85rem;cursor:pointer;color:var(--color-text);transition:all var(--transition-fast);outline:none}.controls select:hover,.controls select:focus{border-color:var(--color-secondary);box-shadow:0 0 0 2px #0000000d}.hero{text-align:center;padding:0;min-height:60vh;display:flex;flex-direction:column;justify-content:center;background-image:linear-gradient(#0000004d,#0000004d),url(/images/hero-bg.jpg);background-size:cover;background-position:center;color:var(--color-white)}.hero-small{text-align:center;padding:var(--spacing-md) 0;margin-bottom:var(--spacing-md);border-radius:8px}.hero h1{font-size:3.5rem;color:#fff;margin-bottom:var(--spacing-sm)}.hero .subtitle{font-size:1.25rem;color:#ffffffe6;max-width:600px;margin:0 auto;text-shadow:0 1px 2px rgba(0,0,0,.3)}.recent-posts{margin-top:var(--spacing-md)}.posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.post-card{background:var(--color-white);border-radius:8px;box-shadow:0 4px 20px #0000000d;transition:transform var(--transition-fast),box-shadow var(--transition-fast);border:1px solid rgba(0,0,0,.02);overflow:hidden;display:flex;flex-direction:column}.post-card img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.post-content-wrapper{padding:var(--spacing-md);flex:1;display:flex;flex-direction:column}.post-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001a}.post-card h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--color-primary)}.post-date{font-size:.85rem;color:var(--color-text-light);margin-bottom:1rem;font-style:italic}.read-more{display:inline-block;margin-top:auto;font-weight:600;color:var(--color-secondary);border-bottom:2px solid transparent;align-self:flex-start}.read-more:hover{border-bottom-color:var(--color-secondary)}.site-footer{background-color:var(--color-primary);color:var(--color-white);text-align:center;padding:var(--spacing-md) 0;margin-top:var(--spacing-xl)}@media (max-width: 768px){.hero h1{font-size:2.5rem}.header-content{flex-direction:column;gap:1rem}.nav-links{gap:1rem;font-size:.9rem}}.post-content{max-width:700px;margin:0 auto;font-size:1.1rem;line-height:1.8;color:var(--color-text)}.post-content p{margin-bottom:1.5rem}.post-content h2{margin-top:3rem;margin-bottom:1rem;font-size:2rem;color:var(--color-primary);border-bottom:2px solid var(--color-accent);padding-bottom:.5rem}.post-content h3{margin-top:2.5rem;margin-bottom:.75rem;font-size:1.5rem;color:var(--color-text)}.post-content blockquote{margin:2rem 0;padding:1rem 1.5rem;border-left:5px solid var(--color-secondary);background-color:var(--color-accent);font-style:italic;color:var(--color-text-light);border-radius:0 8px 8px 0}.post-content ul,.post-content ol{margin-bottom:1.5rem;padding-left:2rem}.post-content li{margin-bottom:.5rem}.post-content a{color:var(--color-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.post-content a:hover{color:var(--color-secondary);text-decoration-color:var(--color-secondary)}.post-content hr{border:none;height:1px;background-color:#0000001a;margin:3rem 0}.post-content .footnote{margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.1);font-size:.9rem;color:var(--color-text-light)}.post-content img{border-radius:8px;box-shadow:0 4px 12px #0000001a;margin:2rem 0}.page-about p{margin-bottom:2rem}.about-image{float:left;margin-right:2rem;margin-bottom:1rem;max-width:300px;width:100%;border-radius:8px;box-shadow:0 4px 12px #0000001a}@media (max-width: 768px){.about-image{float:none;display:block;margin:0 auto 2rem;max-width:100%}}.comments-section{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--color-border)}.comments-section h2{margin-bottom:2rem;font-size:1.8rem;color:var(--color-primary)}.comments-list{margin-bottom:3rem;display:flex;flex-direction:column;gap:1.5rem}.comment{background:var(--color-white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:1rem;border:1px solid rgba(0,0,0,.03)}.comment-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;flex-shrink:0}.comment-content{flex:1}.comment-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.comment-header strong{color:var(--color-text);font-size:1rem}.comment-date{font-size:.8rem;color:var(--color-text-light)}.comment p{color:var(--color-text);line-height:1.5;font-size:.95rem}.comment-form{background:var(--color-bg-secondary);padding:2rem;border-radius:12px;box-shadow:inset 0 2px 4px #00000005}.comment-form h3{margin-bottom:1.5rem;font-size:1.4rem}.form-group{margin-bottom:1.2rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9rem;color:var(--color-text)}.form-group input,.form-group textarea{width:100%;padding:.9rem;border:1px solid rgba(0,0,0,.1);border-radius:6px;background:var(--color-white);color:var(--color-text);font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #83c5be33}.form-group textarea{min-height:120px;resize:vertical}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
