:root{--bg-primary:#fcfaf2;--bg-secondary:#f4f1e6;--bg-glass:#ffffffb3;--border-glass:#6464641a;--text-primary:#2d2d2d;--text-secondary:#6b6b6b;--text-muted:#a0a090;--accent-primary:#4a5d4e;--accent-secondary:#7c6c4e;--accent-gradient:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));--squircle-source:url(/squircle.svg);--font-serif:"Zen Old Mincho",serif;--font-sans:"Noto Sans JP","Inter",sans-serif;--font-mono:"JetBrains Mono",monospace;--transition-smooth:.3s cubic-bezier(.4,0,.2,1);--shadow-subtle:0 4px 20px #0000000a;--shadow-intense:0 10px 30px #00000014}*{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:80px}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;z-index:1;background-image:radial-gradient(circle,#4a5d4e05 0%,#0000 100%);min-height:100vh;font-weight:300;line-height:1.8;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);letter-spacing:.05em;color:var(--accent-primary);font-weight:700}a{color:inherit;transition:var(--transition-smooth);text-decoration:none}.glass-card{position:relative;overflow:hidden;box-shadow:var(--shadow-subtle)!important;background:#fff!important;border:1px solid #0000000d!important;border-radius:32px!important;padding:32px!important;transition:all .4s!important}.glass-card:after{content:"";background:var(--accent-primary);transform-origin:0;width:100%;height:1px;transition:transform .6s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.glass-card:hover:after{transform:scaleX(1)}.glass-card:hover{box-shadow:var(--shadow-intense)!important;transform:translateY(-4px)!important}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.container{max-width:1100px;margin:0 auto;padding-left:20px;padding-right:20px}.header{-webkit-backdrop-filter:blur(10px);z-index:1000;background:#fcfaf2e6;border-bottom:1px solid #0000000d;height:80px;position:fixed;top:0;left:0;right:0}.header-content{justify-content:space-between;align-items:center;height:100%;display:flex}.nav-logo{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:-.02em;transition:var(--transition-smooth);font-size:1.4rem;font-weight:700;text-decoration:none}.nav-logo:hover{color:var(--accent-primary);opacity:.8}.footer-nav{-webkit-backdrop-filter:blur(20px);z-index:1000;width:auto;min-width:320px;box-shadow:var(--shadow-intense);background:#fff;border:1px solid #0000000d;border-radius:100px;padding:12px 24px;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.footer-nav-links{justify-content:space-around;align-items:center;max-width:500px;margin:0 auto;padding:0 16px;display:flex}.footer-nav-link{color:var(--text-secondary);flex-direction:column;align-items:center;gap:4px;min-width:50px;text-decoration:none;transition:all .3s;display:flex}.footer-nav-link span{letter-spacing:.05em;font-size:.6rem;font-weight:500}.footer-nav-link:hover{color:var(--accent-primary);transform:translateY(-2px)}.footer-nav-link svg{opacity:.8;transition:inherit}.footer-nav-link:hover svg{opacity:1;transform:scale(1.1)}.btn-primary{background:var(--accent-primary);color:#fff;height:48px;font-weight:500;font-family:var(--font-sans);text-transform:none;letter-spacing:.05em;cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;gap:16px;padding:0 24px;line-height:1;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 12px #4a5d4e1f}.btn-primary:hover{background:#3a4b3d;transform:translateY(-1px);box-shadow:0 6px 16px #4a5d4e4d}main{z-index:1;padding-top:80px;padding-bottom:120px;position:relative}.home-container{flex-direction:column;gap:80px;padding-bottom:100px;display:flex}.hero{text-align:center;padding:80px 0 100px}.hero-title{font-family:var(--font-serif);color:var(--text-primary);text-transform:none;letter-spacing:.1em;margin-bottom:32px;font-size:clamp(2.5rem,8vw,4rem);font-weight:700;line-height:1.2}.hero-subtitle{color:var(--text-secondary);opacity:.9;border-left:1px solid var(--accent-primary);white-space:pre-wrap;text-align:left;max-width:600px;margin:0 auto;padding-left:24px;font-size:1.1rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;display:grid}.feature-card{flex-direction:column;gap:16px;display:flex!important}.icon-wrapper{width:48px;height:48px;box-shadow:var(--shadow-subtle);background:#fff;border:1px solid #0000000d;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.icon-wrapper.blue{color:var(--accent-primary)}.icon-wrapper.purple,.icon-wrapper.pink{color:var(--accent-secondary)}.feature-card h3{margin:0;font-size:1.5rem}.feature-card p{color:var(--text-secondary);flex-grow:1;font-size:1rem}.card-footer{color:var(--text-primary);align-items:center;gap:8px;margin-top:16px;font-weight:600;display:flex}.blog-container{padding-top:40px;padding-bottom:100px}.page-header{text-align:center;margin-bottom:60px}.page-header h2{font-family:var(--font-serif);margin-bottom:24px;font-size:3rem}.page-subtitle{color:var(--text-secondary);letter-spacing:.05em;font-size:1.1rem}.search-toolbar{flex-direction:column;align-items:flex-start;width:100%;margin:0 0 18px;display:flex}.search-input{width:min(320px,100%);color:var(--text-secondary);font-size:.92rem;font-family:var(--font-sans);background:0 0;border:1px solid #64646429;border-radius:9999px;padding:8px 12px;transition:border-color .2s,background-color .2s}.search-input:focus{background:#ffffff59;border-color:#4a5d4e66;outline:none}.search-input::placeholder{color:var(--text-muted)}.search-result-count{color:var(--text-secondary);text-align:left;font-size:.72rem;font-family:var(--font-sans);margin-top:6px}.posts-list{gap:24px;max-width:800px;margin:0 auto;display:grid}.post-card{flex-direction:column;gap:12px;display:flex!important}.post-meta{color:var(--text-secondary);gap:16px;font-size:.85rem;display:flex}.meta-item{align-items:center;gap:4px;display:flex}.post-card h3{font-family:var(--font-serif);color:var(--text-primary);margin:0;font-size:1.6rem}.post-card p{color:var(--text-secondary);font-size:.95rem}.read-more{color:var(--accent-primary);font-size:.9rem;font-weight:500}.empty-state{text-align:center;color:var(--text-secondary);padding:100px 0}.post-article{max-width:800px;margin:0 auto;padding-top:40px;padding-bottom:100px}.back-link{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:40px;font-weight:500;display:inline-flex}.back-link:hover{color:var(--text-primary)}.post-header{margin-bottom:40px}.post-header .post-meta{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:16px;font-size:.9rem;display:flex}.post-header h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.2}.cover-image{box-shadow:var(--shadow-subtle);border:1px solid #0000000d;border-radius:8px;margin-bottom:60px;overflow:hidden}.cover-image img{width:100%;height:auto;display:block}.post-content{color:var(--text-primary);font-size:1.1rem;line-height:2}.markdown-body h2{margin:40px 0 20px;font-size:2rem}.markdown-body h3{margin:30px 0 16px;font-size:1.5rem}.markdown-body p{margin-bottom:24px}.markdown-body ul,.markdown-body ol{margin-bottom:24px;padding-left:20px}.markdown-body li{margin-bottom:12px}.markdown-body code{background:var(--bg-secondary);border-radius:4px;padding:2px 6px;font-size:.9em}.markdown-body pre{border:1px solid var(--border-glass);background:#050505;border-radius:2px;margin-bottom:30px;padding:20px;position:relative;overflow-x:auto}.markdown-body pre:before{content:"TERMINAL";background:var(--accent-primary);color:#000;padding:2px 8px;font-size:.6rem;position:absolute;top:0;right:0}.tweets-container{padding-top:40px;padding-bottom:100px}.tweets-feed{flex-direction:column;gap:20px;max-width:600px;margin:0 auto;display:flex}.tweet-card{padding:24px}.tweet-header{margin-bottom:20px}.tweet-user{align-items:center;gap:12px;display:flex}.tweet-avatar{object-fit:cover;border:1px solid #0000000d;border-radius:50%;width:48px;height:48px}.tweet-user-info{flex-direction:column;display:flex}.tweet-user-name{color:var(--text-primary);font-size:1rem;font-weight:600}.timestamp{color:var(--text-secondary);font-size:.7rem;font-family:var(--font-mono)}.tweet-content{white-space:pre-wrap;font-size:1.1rem;line-height:1.5}.tweet-hashtag{color:var(--accent-primary);cursor:pointer;background:#4a5d4e0f;border:1px solid #4a5d4e2e;border-radius:9999px;align-items:center;margin:0 2px;padding:4px 10px;font-size:.78rem;line-height:1.2;transition:all .2s;display:inline-flex}.tweet-hashtag:hover{background:#4a5d4e1f;border-color:#4a5d4e47}.tweet-media{border:1px solid var(--accent-primary);border-radius:2px;margin-top:16px;overflow:hidden}.tweet-media img{width:100%;height:auto;display:block}.tweets-loader{text-align:center;min-height:24px;color:var(--text-secondary);padding:8px 0 4px;font-size:.82rem}.tweets-end{text-align:center;color:var(--text-muted);padding:4px 0 0;font-size:.78rem}.pull-refresh-indicator{color:var(--text-muted);justify-content:center;align-items:flex-end;font-size:.72rem;transition:height .12s;display:flex;overflow:hidden}.tweet-fab{background:var(--accent-primary);color:#fff;cursor:pointer;z-index:950;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:transform .2s,box-shadow .2s;display:inline-flex;position:fixed;bottom:112px;right:24px;box-shadow:0 10px 24px #4a5d4e47}.tweet-fab:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 14px 28px #4a5d4e52}.tweet-compose-modal{width:min(560px,100%);background:var(--bg-primary)!important;border:1px solid var(--border-glass)!important;border-radius:28px!important;padding:28px!important}.tweet-compose-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.tweet-compose-header h3{margin:0;font-size:1.35rem}.tweet-compose-close{border:1px solid var(--border-glass);background:var(--bg-secondary);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tweet-compose-close:hover{color:var(--text-primary);background:#4a5d4e14}.tweet-compose-form{flex-direction:column;gap:16px;display:flex}.tweet-compose-modal .tweet-compose-form .form-group label{color:var(--text-secondary);font-size:.9rem}.admin-form .form-group input,.admin-form .form-group textarea,.admin-input,.admin-textarea{border:1px solid var(--border-glass);width:100%;color:var(--text-primary);font-family:var(--font-sans);background:#fff;border-radius:16px;padding:12px 16px;font-size:.96rem;transition:all .3s}.admin-form .form-group input:focus,.admin-form .form-group textarea:focus,.admin-input:focus,.admin-textarea:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 4px #4a5d4e0d}.tweet-compose-modal .tweet-compose-form .form-group .tweet-compose-textarea{border:1px solid var(--border-glass);width:100%;color:var(--text-primary);font-family:var(--font-sans);resize:vertical;background:#ffffff8c;border-radius:20px;min-height:160px;padding:16px 20px;font-size:1rem;line-height:1.6;transition:all .3s}.tweet-compose-modal .tweet-compose-form .form-group .tweet-compose-textarea:focus{border-color:var(--accent-primary);background:#fff;outline:none;box-shadow:0 0 0 4px #4a5d4e0d}.tweet-compose-modal .tweet-compose-form .form-group textarea{resize:vertical;min-height:140px}.tweet-compose-modal .tweet-compose-form .form-group input[type=file]{color:var(--text-secondary);background:#f4f1e6b3;border-style:dashed;padding:10px 12px}.tweet-compose-modal .tweet-compose-form .form-group input[type=file]::file-selector-button{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:9999px;margin-right:10px;padding:7px 14px;font-size:.78rem}.tweet-compose-error{color:#c04040;font-size:.85rem}.tweet-compose-actions{justify-content:flex-end;gap:10px;display:flex}@media (max-width:768px){.tweet-fab{width:56px;height:56px;bottom:100px;right:16px}}.squircle-container{border-radius:40px;overflow:hidden}input.squircle-container,textarea.squircle-container{border-radius:20px}.youtube-embed-container{width:100%;height:0;box-shadow:var(--shadow-subtle);border:1px solid #0000000d;border-radius:4px;margin-top:16px;padding-bottom:56.25%;position:relative;overflow:hidden}.youtube-embed-container iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.podcast-container{padding-top:40px;padding-bottom:100px}.episodes-list{flex-direction:column;gap:60px;max-width:800px;margin:0 auto;display:flex}.episode-item{flex-direction:column;gap:24px;display:flex}.episode-details{padding:0 12px}.episode-meta{color:var(--text-secondary);gap:16px;margin-bottom:8px;font-size:.85rem;display:flex}.episode-details h3{margin-bottom:8px;font-size:1.5rem}.episode-details p{color:var(--text-secondary);margin-bottom:16px}.view-notes{color:var(--accent-blue);font-size:.95rem;font-weight:600}.audio-player{flex-direction:column;gap:16px;padding:24px;display:flex}.player-info{justify-content:space-between;align-items:center;display:flex}.player-title{font-size:1.1rem;font-weight:600}.player-time{color:var(--text-secondary);font-size:.85rem}.player-controls{align-items:center;gap:20px;display:flex}.play-btn{color:var(--accent-primary);cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-subtle);background:#fff;border:1px solid #0000000d;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.play-btn:hover{background:var(--bg-secondary);box-shadow:var(--shadow-intense);transform:scale(1.05)}.progress-container{flex-grow:1}.progress-bar{cursor:pointer;width:100%;accent-color:var(--accent-primary)}.episode-detail{max-width:800px;margin:0 auto;padding-top:40px;padding-bottom:100px}.episode-header{margin-bottom:40px}.episode-header .episode-meta{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:16px;font-size:.9rem;display:flex}.episode-header h1{margin-bottom:16px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.2}.episode-header .description{color:var(--text-secondary);font-size:1.25rem}.player-wrapper{margin-bottom:60px}.shownotes h2{margin-bottom:24px;font-size:2rem}.login-container{justify-content:center;align-items:center;min-height:calc(100vh - 200px);display:flex}.login-card{width:100%;max-width:400px;padding:40px}.login-card h2{text-align:center;margin-bottom:32px;font-size:2rem}.login-form{flex-direction:column;gap:20px;display:flex}.login-form .form-group input{border:1px solid var(--border-glass);color:var(--text-primary);font-size:.95rem;font-family:var(--font-sans);background:#ffffffa6;border-radius:12px;padding:12px 14px}.login-form .form-group input:focus{border-color:#4a5d4e66;outline:none;box-shadow:0 0 0 3px #4a5d4e14}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-secondary);font-weight:500}.error-msg{color:#ff4d4d;text-align:center;font-size:.9rem}.admin-container{padding:40px 0}.admin-header{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.admin-user-info{color:var(--text-secondary);align-items:center;gap:16px;font-size:.9rem;display:flex}.admin-tabs-wrapper{width:fit-content;max-width:100%;margin-bottom:32px;position:relative}.admin-tabs-wrapper.show-fade:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fffffff2,#fff);border-radius:0 50px 50px 0;width:60px;position:absolute;top:0;bottom:0;right:0}.admin-tabs{width:fit-content;max-width:100%;box-shadow:var(--shadow-subtle);white-space:nowrap;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #0000000d;border-radius:50px;flex-wrap:nowrap;gap:8px;padding:4px 20px 4px 4px;display:flex;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs{-ms-overflow-style:none;scrollbar-width:none}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:40px;flex-shrink:0;align-items:center;gap:8px;padding:8px 20px;font-size:.9rem;font-weight:500;transition:all .3s;display:flex}.tab-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.tab-btn.active{background:var(--accent-primary);color:#fff;box-shadow:0 4px 12px #4a5d4e33}.admin-list{margin-top:24px}.content-list{flex-direction:column!important;gap:12px!important;width:100%!important;padding:0!important;display:flex!important}.content-item{background:#fff!important;border:1px solid #0000000d!important;border-radius:8px!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;padding:16px 24px!important;text-decoration:none!important;transition:all .3s!important;display:flex!important}.content-item:hover{box-shadow:var(--shadow-subtle)!important;border-color:#0000001a!important;transform:translateY(-2px)!important}.item-info{flex-direction:column!important;flex:1!important;min-width:0!important;display:flex!important}.item-title{color:var(--text-primary);margin-bottom:4px;font-size:1.05rem;font-weight:500}.item-meta{color:var(--text-secondary);font-size:.85rem}.item-actions{align-items:center!important;gap:8px!important;margin-left:16px!important;display:flex!important}.icon-btn{color:var(--text-secondary)!important;cursor:pointer!important;width:40px!important;height:40px!important;box-shadow:var(--shadow-subtle)!important;background:#fff!important;border:1px solid #0000000d!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;transition:all .3s!important;display:flex!important}.icon-btn:hover{color:var(--text-primary)!important;transform:scale(1.1)!important}.icon-btn.edit:hover{color:var(--accent-primary)!important;background:#4a5d4e0d!important}.icon-btn.delete:hover{color:#c04040!important;background:#c040400d!important}.icon-btn.view:hover{color:var(--accent-secondary)!important;background:#7c6c4e0d!important}.btn-secondary{color:var(--text-primary);cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:100px;padding:8px 20px;font-size:.9rem;transition:all .3s}.btn-secondary:hover{background:var(--bg-secondary)}.flex-1{flex:1}.form-row{gap:20px;display:flex}.push-settings-container{align-items:center;margin-top:0;display:flex}.push-toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #00000014;border-radius:100px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:500;transition:all .3s;display:flex}.push-toggle-btn:hover{color:var(--text-primary);background:#00000005;border-color:#00000026}.push-toggle-btn.subscribed{color:var(--accent-primary);background:#4a5d4e0a;border-color:#4a5d4e33}.push-toggle-btn:disabled{opacity:.7;cursor:not-allowed}@media (max-width:600px){.form-row{flex-direction:column;gap:0}}@media (max-width:768px){.hero-content{text-align:center;padding:2rem 1rem}}.admin-section{box-shadow:var(--shadow-subtle);background:#fff;border:1px solid #0000000d;border-radius:16px;padding:40px}.section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.btn-small{padding:6px 12px;font-size:.85rem}.admin-form{flex-direction:column;gap:24px;display:flex}.admin-form .form-group label{margin-bottom:8px;font-size:.95rem}.admin-form input,.admin-form textarea{color:var(--text-primary);font-family:var(--font-sans);background:#fff;border:1px solid #0000001a}.admin-form input[type=file]{background:var(--bg-secondary);border:1px dashed #0000001a;padding:12px}.admin-form input[type=file]::file-selector-button{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:100px;margin-right:12px;padding:6px 16px;font-size:.8rem}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.editor-container{background:#fff;border:1px solid #0000001a;border-radius:12px;overflow:hidden}.editor-header{background:var(--bg-secondary);border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.editor-tabs{gap:4px;display:flex}.editor-tab{font-size:.85rem;font-weight:500;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;transition:all .3s;display:flex}.editor-tab:hover{color:var(--text-primary);background:#0000000d}.editor-tab.active{color:var(--accent-primary);box-shadow:var(--shadow-subtle);background:#fff}.editor-toolbar{gap:4px;display:flex}.editor-toolbar button{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;transition:all .2s;display:flex}.editor-toolbar button:hover{color:#fff;background:#ffffff14}.markdown-preview-area{background:#fff;min-height:300px;max-height:600px;padding:32px;overflow-y:auto}.editor-container textarea{resize:vertical;width:100%;min-height:300px;font-family:inherit;line-height:1.8;color:var(--text-primary)!important;background:#fff!important;border:none!important;border-radius:0!important;padding:24px!important;font-size:1rem!important}.markdown-preview-area .markdown-body{font-size:1rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-modal{text-align:center;width:100%;max-width:440px;padding:48px;box-shadow:var(--shadow-intense)!important;background:#fff!important;border:1px solid #0000000d!important}.confirm-modal h3{margin-bottom:12px;font-size:1.5rem}.confirm-modal p{color:var(--text-secondary);margin-bottom:32px}.modal-actions{justify-content:center;gap:12px;display:flex}.btn-danger{color:#c04040;text-transform:none;letter-spacing:.05em;font-weight:500;font-family:var(--font-sans);cursor:pointer;background:#fff;border:1px solid #c04040;border-radius:100px;padding:12px 32px;transition:all .3s}.btn-danger:hover{color:#fff;background:#c04040;transform:translateY(-1px)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.comment-section{border-top:1px solid #0000000d;margin-top:60px;padding-top:60px}.comment-section h2{margin-bottom:32px;font-size:1.8rem}.comment-form{flex-direction:column;gap:20px;margin-bottom:48px;display:flex}.comment-form .form-group input,.comment-form .form-group textarea{color:var(--text-primary);font-family:var(--font-sans);background:#fff;border:1px solid #0000001a;border-radius:8px}.comment-form .form-group input:focus,.comment-form .form-group textarea:focus{border-color:var(--accent-primary);background:#fff}.comment-list{flex-direction:column;gap:24px;display:flex}.comment-item{border-left:2px solid var(--accent-primary);padding-bottom:8px;padding-left:20px}.comment-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.comment-author{color:var(--text-primary);font-size:1rem;font-weight:600}.comment-date{color:var(--text-secondary);font-size:.8rem;font-family:var(--font-mono)}.comment-body{color:var(--text-primary);white-space:pre-wrap;font-size:1rem;line-height:1.6}.reply-btn{color:var(--text-secondary);cursor:pointer;background:#00000008;border:1px solid #0000;border-radius:20px;align-items:center;gap:8px;margin-top:3rem;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.reply-btn:hover{color:var(--accent-primary);border-color:rgba(var(--accent-primary-rgb),.2);background:#0000000f;transform:translateY(-1px)}.reply-btn[aria-expanded=true]{background:rgba(var(--accent-primary-rgb),.1);color:var(--accent-primary);border-color:rgba(var(--accent-primary-rgb),.3)}.error-text{color:#ff4d4d;margin-top:8px;font-size:.85rem}.success-text{color:var(--accent-primary);margin-top:8px;font-size:.85rem}.push-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);background-color:#0009;justify-content:center;align-items:center;padding:16px;animation:.3s ease-out push-fadeIn;display:flex;position:fixed;inset:0}.push-modal{background-color:#fff;border-radius:20px;width:100%;max-width:400px;padding:32px;animation:.3s cubic-bezier(.34,1.56,.64,1) push-zoomIn;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.push-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:8px;transition:all .2s;position:absolute;top:16px;right:16px}.push-modal-close:hover{color:#475569;background-color:#f1f5f9}.push-modal-content{text-align:center;flex-direction:column;align-items:center;display:flex}.push-modal-icon{color:#2563eb;background-color:#eff6ff;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:24px;display:flex}.push-modal-title{color:#0f172a;margin-bottom:8px;font-size:1.25rem;font-weight:700}.push-modal-description{color:#64748b;margin-bottom:24px;font-size:.875rem;line-height:1.6}.push-modal-steps{text-align:left;background-color:#f8fafc;border-radius:12px;width:100%;margin-bottom:24px;padding:16px}.push-step{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.push-step:last-child{margin-bottom:0}.push-step-number{color:#475569;background-color:#fff;border:1px solid #e2e8f0;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.push-step-text{color:#334155;font-size:.875rem;line-height:1.5}.push-modal-button{color:#fff;cursor:pointer;background-color:#0f172a;border:none;border-radius:12px;width:100%;padding:12px;font-weight:500;transition:background-color .2s}.push-modal-button:hover{background-color:#1e293b}@keyframes push-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes push-zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.image-upload-wrapper{margin-bottom:24px}.image-upload-label{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.image-upload-dropzone{cursor:pointer;background:#fff6;border:2px dashed #4a5d4e33;border-radius:40px;justify-content:center;align-items:center;width:100%;min-height:220px;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.image-upload-dropzone:hover{border-color:var(--accent-primary);background:#ffffffb3;border-style:solid;box-shadow:0 0 0 4px #4a5d4e0d}.image-upload-dropzone.drag-active{border-color:var(--accent-primary);background:#4a5d4e0d;border-width:2px}.upload-placeholder{color:var(--text-muted);transition:var(--transition-smooth);flex-direction:column;align-items:center;gap:16px;display:flex}.image-upload-dropzone:hover .upload-placeholder{color:var(--accent-primary);transform:translateY(-2px)}.upload-icon-circle{background:var(--bg-secondary);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:4px;transition:all .3s;display:flex}.image-upload-dropzone:hover .upload-icon-circle{background:var(--accent-primary);color:#fff;transform:scale(1.05)}.upload-text{text-align:center}.upload-text .main-text{margin-bottom:4px;font-size:.95rem;font-weight:500}.upload-text .sub-text{opacity:.7;font-size:.8rem}.image-preview-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.image-preview{object-fit:cover;width:100%;height:100%;transition:filter .3s}.remove-image-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.remove-image-btn:hover{background:#c04040cc;transform:scale(1.1)}.preview-overlay{color:#fff;opacity:0;z-index:5;background:#0000004d;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.image-upload-dropzone:hover .preview-overlay{opacity:1}.preview-overlay span{font-size:.85rem;font-weight:500}.image-upload-dropzone:hover .image-preview{filter:blur(2px)brightness(.8)}@keyframes pulse-subtle{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.animate-pulse-subtle{animation:3s ease-in-out infinite pulse-subtle}
