:root{--bg-canvas: #111317;--bg-main: #111317;--bg-surface: #181b20;--bg-surface-hover: #1f232b;--bg-card: #181b20;--bg-card-hover: #1f232b;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent-color: #60a5fa;--accent-primary: #60a5fa;--accent-hover: #93c5fd;--accent-contrast: #0f172a;--tag-bg: #162335;--tag-text: #93c5fd;--tag-border: #1e3552;--border-color: #262a35;--border-subtle: #1e222b;--border-strong: #333847;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}html.light-theme,body.light-theme{--bg-canvas: #faf9f6;--bg-main: #faf9f6;--bg-surface: #ffffff;--bg-surface-hover: #f4f3ef;--bg-card: #ffffff;--bg-card-hover: #f4f3ef;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--accent-color: #0284c7;--accent-primary: #0284c7;--accent-hover: #0369a1;--accent-contrast: #ffffff;--tag-bg: #f0f9ff;--tag-text: #0284c7;--tag-border: #e0f2fe;--border-color: #e7e5e4;--border-subtle: #f0eee9;--border-strong: #d6d3d1}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-name:theme-fade-out}::view-transition-new(root){animation-name:theme-fade-in}@keyframes theme-fade-out{0%{opacity:1}to{opacity:0}}@keyframes theme-fade-in{0%{opacity:0}to{opacity:1}}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)!important;transition-delay:0s!important}html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-canvas);color:var(--text-primary);line-height:1.65;font-size:.98rem;position:relative;min-height:100vh;transition:background-color .25s ease,color .25s ease}.sidebar,.main-content,.search-header,.search-input-wrapper,.card,.project-card,.list-item,.mobile-header,.sidebar-header,.sidebar-bio,.sidebar-copyright,#theme-toggle,.coffee-btn{transition:background-color .25s ease,border-color .25s ease,color .25s ease}a{color:var(--accent-primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover)}.text-accent{color:var(--accent-primary)!important}.app-layout{display:flex;min-height:100vh;max-width:1200px;width:100%;margin:0 auto}.sidebar{width:270px;background-color:var(--bg-canvas);border-right:1px solid var(--border-color);padding:44px 28px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-header{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.site-title{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1.2}#theme-toggle{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;transition:all .15s ease}#theme-toggle:hover{color:var(--accent-primary);border-color:var(--accent-primary)}#theme-toggle svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;transition:transform .35s cubic-bezier(.4,0,.2,1)}.theme-toggle-spin svg{transform:rotate(360deg) scale(.9)}.sidebar-bio{color:var(--text-secondary);padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--border-color);font-size:.88rem;line-height:1.6}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--border-color)}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;color:var(--text-secondary);font-weight:500;font-size:.92rem;text-decoration:none;cursor:pointer;transition:color .15s ease,background-color .15s ease}.nav-item svg{flex-shrink:0;width:17px;height:17px;color:var(--text-muted);transition:color .15s ease}.nav-item:hover{color:var(--text-primary);background-color:var(--bg-surface)}.nav-item:hover svg{color:var(--accent-primary)}.nav-item.active{color:var(--accent-primary);background-color:var(--tag-bg);font-weight:600}.nav-item.active svg{color:var(--accent-primary)}.sidebar-footer{margin-bottom:16px}.sidebar-footer p{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-muted);margin-bottom:10px;font-family:var(--font-mono)}.sidebar-footer a{display:block;color:var(--text-secondary);font-size:.88rem;margin-bottom:6px;font-weight:500;transition:color .15s}.sidebar-footer a:hover{color:var(--accent-primary);text-decoration:none}.sidebar-spacer{flex:1}.sidebar-copyright{padding-top:16px;border-top:1px solid var(--border-color);font-size:.76rem;color:var(--text-muted);font-family:var(--font-mono)}.sidebar-coffee{margin-top:12px}.coffee-btn{width:100%;background-color:var(--accent-primary);color:var(--accent-contrast);border:1px solid var(--accent-primary);padding:9px 14px;border-radius:6px;cursor:pointer;font-family:var(--font-sans);font-size:.86rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.coffee-btn:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-contrast);transform:translateY(-1px)}.coffee-btn:active{transform:translateY(0)}.main-content{flex:1;padding:44px 50px 80px;background-color:var(--bg-canvas);min-width:0;max-width:860px}.search-header{margin-bottom:40px;position:relative;z-index:100}.search-input-wrapper{position:relative;display:flex;align-items:center;max-width:580px}.search-icon{position:absolute;left:14px;width:16px;height:16px;color:var(--text-muted);pointer-events:none;z-index:2}#site-search-input{width:100%;padding:10px 80px 10px 40px;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem;font-family:var(--font-sans);outline:none;transition:border-color .15s ease}#site-search-input::placeholder{color:var(--text-muted)}#site-search-input:focus{border-color:var(--accent-primary)}.search-controls-right{position:absolute;right:10px;display:flex;align-items:center;gap:6px;z-index:2}.search-clear-btn{background:transparent;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{color:var(--text-primary)}.search-clear-btn.hidden{display:none!important}.search-shortcut-badge{background:var(--bg-canvas);border:1px solid var(--border-color);border-radius:4px;padding:2px 5px;font-size:.7rem;font-family:var(--font-mono);color:var(--text-muted);pointer-events:none}.search-results-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 20px #00000040;max-height:400px;overflow-y:auto;z-index:1000;padding:6px 0}.search-results-dropdown.hidden{display:none!important}.search-group{padding:4px 0}.search-group:not(:last-child){border-bottom:1px solid var(--border-color)}.search-group-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:6px 16px;font-family:var(--font-mono)}.search-result-item{display:flex;flex-direction:column;padding:9px 16px;cursor:pointer;text-decoration:none!important;transition:background-color .12s ease}.search-result-item:hover,.search-result-item.search-item-selected{background-color:var(--bg-surface-hover)}.search-item-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}.search-item-title{font-size:.92rem;font-weight:600;color:var(--accent-primary)}.search-item-badge{font-size:.7rem;color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase}.search-item-snippet{font-size:.82rem;color:var(--text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.search-highlight{background:var(--tag-bg);color:var(--accent-primary);font-weight:600;padding:0 2px;border-radius:2px}.search-dropdown-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-top:1px solid var(--border-color);font-size:.72rem;color:var(--text-muted);font-family:var(--font-mono)}.search-shortcuts-hint{display:flex;align-items:center;gap:4px}.search-shortcuts-hint kbd{background:var(--bg-canvas);border:1px solid var(--border-color);padding:1px 4px;border-radius:3px}.search-empty-state{padding:24px 16px;text-align:center;color:var(--text-secondary);font-size:.88rem}.hero-section{margin-bottom:52px}.hero-title{font-size:2.2rem;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin-bottom:16px;color:var(--text-primary)}.hero-lead{font-size:1.04rem;line-height:1.7;color:var(--text-secondary);max-width:680px;margin-bottom:12px}.hero-subtext{font-size:.94rem;color:var(--text-secondary)}.content-section{margin-bottom:56px}.section-title{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin-bottom:6px;color:var(--text-primary)}.section-title svg{flex-shrink:0;width:22px;height:22px;color:var(--accent-primary)}.section-desc{color:var(--text-secondary);margin-bottom:20px;font-size:.92rem;line-height:1.5}.list-layout{display:flex;flex-direction:column}.list-item{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid var(--border-color);background:transparent;transition:background-color .12s ease}.list-item .date{font-size:.82rem;color:var(--text-secondary);font-family:var(--font-mono);margin-bottom:4px;font-weight:500}.list-item .title{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;line-height:1.4}.list-item .title a{color:var(--accent-primary);transition:color .15s ease}.list-item:hover .title a,.list-item .title a:hover{color:var(--accent-hover)}.view-more-box{margin-top:18px}.view-more-box a{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:500;color:var(--accent-primary);transition:gap .15s ease}.view-more-box a:hover{gap:8px;text-decoration:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.card.project-card,.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .15s ease,background-color .15s ease}.card:hover,.card.project-card:hover{border-color:var(--border-strong);background-color:var(--bg-surface-hover)}.project-card-title,.card h3{font-size:1.08rem;font-weight:600;letter-spacing:-.015em;line-height:1.35;margin-bottom:8px}.project-card-title a,.card h3 a{color:var(--accent-primary);text-decoration:none;transition:color .15s ease}.card:hover .project-card-title a,.card:hover h3 a,.project-card-title a:hover,.card h3 a:hover{color:var(--accent-hover)}.project-card-desc,.card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:16px;flex-grow:1}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.project-tag{font-size:.72rem;font-family:var(--font-mono);padding:2px 7px;background:var(--tag-bg);color:var(--tag-text);border-radius:4px;border:1px solid var(--tag-border)}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:24px;font-size:.9rem;font-weight:500;color:var(--accent-primary);transition:color .15s ease}.back-link:hover{text-decoration:none;color:var(--accent-hover)}.post-detail{max-width:720px;margin-bottom:50px}.post-title{font-size:2.2rem;font-weight:700;line-height:1.3;letter-spacing:-.025em;margin-bottom:12px;color:var(--accent-primary)}.post-meta{font-size:.88rem;color:var(--text-secondary);margin-bottom:24px;font-family:var(--font-mono)}.post-divider{border:0;border-top:1px solid var(--border-color);margin:24px 0 32px}.markdown-body{line-height:1.8;color:var(--text-primary);font-size:1.04rem}.markdown-body p{margin-bottom:20px}.markdown-body blockquote{border-left:3px solid var(--accent-primary);background:var(--tag-bg);padding:14px 18px;margin:24px 0;border-radius:0 4px 4px 0;color:var(--text-primary)}.markdown-body blockquote p{margin:0;line-height:1.6}.markdown-body h2{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;margin-top:36px;margin-bottom:14px;color:var(--text-primary)}.markdown-body h3{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;margin-top:28px;margin-bottom:12px;color:var(--text-primary)}.markdown-body ul,.markdown-body ol{margin:14px 0 20px 22px;line-height:1.8}.markdown-body li{margin-bottom:6px}.markdown-body pre{position:relative;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:18px;margin:22px 0;overflow-x:auto;font-family:var(--font-mono);font-size:.9rem}.markdown-body code{font-family:var(--font-mono);font-size:.88em;background:var(--tag-bg);color:var(--tag-text);padding:2px 5px;border-radius:3px;border:1px solid var(--tag-border)}.markdown-body pre code{background:transparent;border:none;color:var(--text-primary);padding:0}.copy-code-btn{position:absolute;top:10px;right:10px;background:var(--bg-canvas);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 9px;font-size:.72rem;font-family:var(--font-sans);font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease}.copy-code-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.copy-code-btn.copied{color:#10b981;border-color:#10b981}.markdown-body a{color:var(--accent-primary);text-decoration:underline;text-underline-offset:3px;transition:color .15s ease}.markdown-body a:hover{color:var(--accent-hover)}.markdown-body img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--border-color);margin:24px auto 10px;display:block;box-shadow:0 4px 16px #0000000f;background-color:var(--bg-surface)}.markdown-body p>em:only-child{display:block;text-align:center;font-size:.88rem;color:var(--text-muted);margin-top:-2px;margin-bottom:24px}.post-actions{display:flex;align-items:center;gap:10px;margin-top:32px;margin-bottom:24px}.like-btn,.share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);font-weight:500;font-size:.88rem;border-radius:6px;cursor:pointer;transition:border-color .15s ease,color .15s ease}.like-btn:hover{border-color:#f43f5e;color:#f43f5e}.like-btn.liked{background:#f43f5e1f;border-color:#f43f5e;color:#f43f5e}.share-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.share-btn.copied{color:#10b981!important;border-color:#10b981!important}.comments-section{margin-top:48px;padding-top:32px;border-top:1px solid var(--border-color)}.comments-header{font-size:1.4rem;font-weight:700;letter-spacing:-.015em;margin-bottom:22px;color:var(--text-primary)}.comment-form{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:20px;margin-bottom:32px}.form-title{font-size:1rem;font-weight:600;margin-bottom:14px;color:var(--text-primary)}.form-row{display:flex;gap:12px;margin-bottom:12px}.form-input,.form-textarea{width:100%;padding:10px 12px;background-color:var(--bg-canvas);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.92rem;outline:none;transition:border-color .15s ease}.form-input:focus,.form-textarea:focus{border-color:var(--accent-primary)}.comment-submit-btn{margin-top:12px;padding:9px 18px;background-color:var(--accent-primary);color:#111317;font-weight:600;font-size:.9rem;border:none;border-radius:4px;cursor:pointer;transition:opacity .15s ease}.comment-submit-btn:hover{opacity:.9}.form-status{margin-top:10px;font-size:.88rem}.comments-list{display:flex;flex-direction:column;gap:14px}.comment-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:16px 18px}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.88rem}.comment-author-box{display:flex;align-items:center;gap:8px}.comment-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid var(--border-color)}.comment-author{font-weight:600;color:var(--text-primary)}.comment-header-right{display:flex;align-items:center;gap:8px}.comment-date{color:var(--text-muted);font-size:.78rem;font-family:var(--font-mono)}.comment-delete-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;padding:2px 5px;border-radius:3px;font-size:.8rem}.comment-delete-btn:hover{color:#f43f5e}.comment-body{color:var(--text-primary);line-height:1.6;font-size:.94rem;white-space:pre-wrap}.no-comments-text{color:var(--text-muted);font-style:italic;font-size:.9rem}.comment-session-indicator{margin-bottom:14px}.session-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background-color:var(--tag-bg);border:1px solid var(--border-color);border-radius:20px;font-size:.82rem;color:var(--text-secondary)}.session-active-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background-color:#4cd964;box-shadow:0 0 6px #4cd96499;flex-shrink:0}.session-email-label,.reply-session-email{color:var(--text-muted);font-size:.78rem}.session-badge strong{color:var(--text-primary)}.session-switch-btn{background:transparent;border:none;color:var(--accent-primary);cursor:pointer;font-size:.8rem;font-weight:600;padding:0 2px;margin-left:4px;text-decoration:underline;transition:color .15s ease}.session-switch-btn:hover{color:var(--accent-hover)}.reply-session-banner{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;margin-bottom:12px;background-color:var(--bg-canvas);border:1px solid var(--border-color);border-radius:16px;font-size:.82rem;color:var(--text-secondary)}.reply-session-banner strong{color:var(--text-primary)}.comment-reply-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;padding:3px 7px;border-radius:4px;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.comment-reply-btn:hover{color:var(--accent-primary);background-color:var(--tag-bg);border-color:var(--border-color)}.replying-to-tag{display:inline-flex;align-items:center;gap:3px;font-size:.76rem;color:var(--accent-primary);background-color:var(--tag-bg);padding:2px 7px;border-radius:4px;font-weight:500;font-family:var(--font-mono)}.comment-replies-thread{margin-top:14px;margin-left:20px;padding-left:16px;border-left:2px solid var(--border-color);display:flex;flex-direction:column;gap:12px}@media (max-width: 600px){.comment-replies-thread{margin-left:8px;padding-left:10px}}.comment-card.reply-comment{background-color:var(--bg-canvas);border:1px solid var(--border-color);border-radius:6px;padding:13px 15px}.inline-reply-form{margin-top:14px;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:16px;animation:replySlideDown .2s ease-out}@keyframes replySlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.reply-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.88rem;color:var(--text-secondary)}.replying-to-label strong{color:var(--accent-primary)}.reply-close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:2px 6px;border-radius:4px;line-height:1}.reply-close-btn:hover{color:var(--text-primary)}.reply-form-actions{display:flex;gap:10px;margin-top:12px;align-items:center}.reply-submit-btn{padding:7px 16px;background-color:var(--accent-primary);color:#111317;font-weight:600;font-size:.86rem;border:none;border-radius:4px;cursor:pointer;transition:opacity .15s ease}.reply-submit-btn:hover{opacity:.9}.reply-cancel-btn{padding:7px 14px;background:transparent;color:var(--text-secondary);font-size:.86rem;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.reply-cancel-btn:hover{background-color:var(--bg-surface);color:var(--text-primary)}.qr-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:5000}.qr-modal-hidden{display:none!important}.qr-modal-content{position:relative;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:28px;max-width:380px;width:90%}.qr-modal-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--text-muted);font-size:1.6rem;cursor:pointer;line-height:1}.qr-modal-close:hover{color:var(--text-primary)}.qr-modal-title{font-size:1.2rem;font-weight:700;margin-bottom:18px;color:var(--text-primary)}.qr-modal-body{display:flex;flex-direction:column;align-items:center;gap:16px}.qr-image{width:190px;height:190px;background:#fff;border-radius:6px;object-fit:contain;padding:6px;border:1px solid var(--border-color)}.bank-details{text-align:center;color:var(--text-secondary);font-size:.9rem;line-height:1.7}.bank-details strong{color:var(--text-primary)}#toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);padding:10px 16px;border-radius:6px;font-size:.9rem;font-weight:500;box-shadow:0 4px 12px #00000040;opacity:0;transform:translateY(8px);transition:all .2s ease}.toast.show{opacity:1;transform:translateY(0)}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.2}}.skeleton-box{background-color:var(--border-color);border-radius:4px;animation:skeleton-pulse 1.6s infinite ease-in-out}.skeleton-text{height:16px;width:85%;margin:6px 0}.skeleton-card-box{height:110px;width:100%;border-radius:6px}.loading-text{color:var(--text-muted);font-size:.9rem;font-style:italic}.hidden{display:none!important}.subscribe-section{margin:32px 0 24px}.subscribe-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s ease,box-shadow .2s ease}.subscribe-card:hover{border-color:var(--border-strong)}.subscribe-header{display:flex;align-items:flex-start;gap:14px}.subscribe-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;background-color:var(--tag-bg);color:var(--accent-primary);border:1px solid var(--tag-border);flex-shrink:0;margin-top:2px}.subscribe-text{flex:1}.subscribe-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.01em}.subscribe-desc{font-size:.88rem;color:var(--text-muted);line-height:1.5}.subscribe-form{display:flex;flex-direction:column;gap:6px}.subscribe-input-group{display:flex;gap:10px;align-items:center}.subscribe-input{flex:1;padding:10px 14px;background-color:var(--bg-canvas);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.92rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.subscribe-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #60a5fa26}.subscribe-btn{padding:10px 20px;background-color:var(--accent-primary);color:#111317;font-weight:600;font-size:.9rem;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,opacity .15s ease,transform .1s ease;display:flex;align-items:center;justify-content:center}.subscribe-btn:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-1px)}.subscribe-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.subscribe-status{font-size:.85rem;min-height:18px;line-height:1.4}.subscribe-status.success{color:#34d399}.subscribe-status.error{color:#f87171}#home-subscribe-card,#blogs-subscribe-card{margin-top:20px}.mobile-header{display:none}@media (max-width: 900px){.app-layout{flex-direction:column}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background-color:var(--bg-canvas);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1500}#mobile-menu-toggle{background:transparent;border:1px solid var(--border-color);color:var(--text-primary);width:34px;height:34px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer}.sidebar{position:fixed;left:-300px;top:0;height:100vh;width:270px;z-index:2000;background-color:var(--bg-canvas);box-shadow:4px 0 16px #0006;transition:left .2s ease}.sidebar.open{left:0}.main-content{padding:28px 18px 50px}.hero-title{font-size:1.85rem}.post-title{font-size:1.75rem}.card-grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:10px}.subscribe-input-group{flex-direction:column;align-items:stretch}#toast-container{bottom:16px;left:16px;right:16px;align-items:center}}
