:root{--bg:#fff;--text-main:#111;--text-muted:#666;--text-light:#999;--border:#eaeaea;--accent:#000;color:var(--text-main);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}html,body{height:100%;margin:0;padding:0}#root{flex-direction:column;min-height:100%;display:flex}.dark-mode{--bg:#1a1a1a;--text-main:#e0e0e0;--text-muted:#a0a0a0;--text-light:#707070;--border:#333;--accent:#fff;color:var(--text-main);background:var(--bg)}.dark-mode .warning{background:#2d1f1d;border:1px solid #4d332f}.dark-mode .warning p{color:#e67c67}body{-webkit-font-smoothing:antialiased;margin:0;padding:0}#root{max-width:680px;margin:0 auto;padding:4rem 1.5rem}a{color:inherit;text-decoration:none;transition:color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);display:inline-block}a:hover{color:var(--accent);transform:translateY(-1px)}h1,h2,h3{color:var(--text-main);margin:2rem 0 1rem;font-weight:600}.clickable-title{cursor:pointer;transition:color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);display:inline-block}.clickable-title:hover{color:var(--accent);transform:translateY(-1px)}h1,h2{letter-spacing:-.01em;font-size:1.5rem}h3{font-size:1.25rem}p{color:var(--text-muted);margin:0 0 1.5rem}header{justify-content:space-between;align-items:center;margin-bottom:4rem;display:flex}header .brand{color:var(--text-main);letter-spacing:-.02em;font-size:1.25rem;font-weight:600}.post-list{margin:0;padding:0;list-style:none}.post-item{margin-bottom:3rem}.post-item h2{align-items:baseline;gap:1rem;margin:0 0 .5rem;font-size:1.35rem;display:flex;position:relative}.post-item h2 .meta{color:var(--text-light);flex-shrink:0;font-size:.85rem;font-weight:400}.post-item .meta{color:var(--text-light);margin-bottom:.5rem;font-size:.85rem;display:block}.post-item p{color:var(--text-muted);margin:0;font-size:1rem}.post-item .share-btn{opacity:0;cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:opacity .2s,color .2s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.post-item h2:hover .share-btn{opacity:1}.post-item .share-btn:hover{color:var(--accent)}.post-detail h1{flex-wrap:wrap;align-items:baseline;gap:1.5rem;margin-top:0;margin-bottom:.5rem;font-size:2.5rem;line-height:1.2;display:flex}.post-detail h1 .meta{color:var(--text-light);flex-shrink:0;font-size:.9rem;font-weight:400}.post-detail .meta{color:var(--text-light);margin-bottom:3rem;font-size:.9rem;display:block}.post-detail .content{color:var(--text-main);font-size:1.05rem;line-height:1.8}.post-detail .content p{color:var(--text-main)}.post-detail .content h1,.post-detail .content h2,.post-detail .content h3{margin:1.5rem 0 .75rem}.post-detail .content img{border-radius:4px;max-width:100%;height:auto;margin:1rem 0}.post-detail .content a{color:var(--accent);text-decoration:underline}.post-detail .content ul,.post-detail .content ol{margin:1rem 0;padding-left:1.5rem}.post-detail .content li{margin:.5rem 0}.post-detail .content blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin:1rem 0;padding-left:1rem;font-style:italic}.post-detail .cover{border-radius:4px;width:100%;height:auto;margin-bottom:2rem}.post-detail .share-wrapper{justify-content:flex-end;margin-top:2rem;display:flex}.post-detail .share-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:flex}.post-detail .share-btn:hover{color:var(--accent)}.share-toast{background:var(--text-main);color:var(--bg);z-index:1000;border-radius:4px;padding:.75rem 1.5rem;font-size:.9rem;animation:2s fadeInOut;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%)translateY(10px)}15%{opacity:1;transform:translate(-50%)translateY(0)}85%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-10px)}}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem;display:block}input,textarea{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-main);box-sizing:border-box;background:0 0;border-radius:0;padding:.75rem 0;font-family:inherit;font-size:1rem;transition:border-color .3s cubic-bezier(.4,0,.2,1)}input:focus,textarea:focus{border-bottom-color:var(--accent);outline:none}button{color:var(--text-main);cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}button:hover{color:var(--accent);box-shadow:none;transform:translateY(-1px)}button:disabled{color:var(--text-muted);cursor:not-allowed;background:0 0}.warning{background:#fdf8f6;border:1px solid #f2e2df;border-radius:4px;margin-bottom:2rem;padding:1rem}.warning p{color:#c95c47;margin:0;font-size:.9rem}.error{color:#d32f2f;margin-top:.5rem;font-size:.9rem}.success{color:#2e7d32;margin-top:.5rem;font-size:.9rem}.back-link{color:var(--text-muted);margin-top:3rem;font-size:.9rem;display:inline-block}.back-link:hover{color:var(--text-main)}.visitor-count{color:var(--text-light);text-align:center;margin-top:3rem;font-size:.85rem}.header-flex{justify-content:space-between;align-items:baseline;margin:2rem 0 1rem;display:flex}.header-flex h2{margin:0}.header-flex .refresh-btn{color:var(--text-muted);cursor:pointer;box-shadow:none;background:0 0;border:none;margin-left:1rem;padding:.25rem .75rem;font-size:.8rem;transition:all .3s cubic-bezier(.4,0,.2,1);transform:none}.header-flex .refresh-btn:hover{color:var(--accent);box-shadow:none;transform:translateY(-1px)}.theme-toggle{color:var(--text-muted);box-shadow:none;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;padding:.5rem;transition:color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);display:flex}.theme-toggle:hover{color:var(--text-main);box-shadow:none;transform:scale(1.1)}.about-link{color:var(--text-muted);font-size:.9rem;transition:color .3s cubic-bezier(.4,0,.2,1)}.about-link:hover{color:var(--accent)}.about-content{margin-bottom:3rem}.about-content p{color:var(--text-muted);font-size:1rem;line-height:1.8}.social-links{margin-top:2rem}.social-links h3{color:var(--text-muted);margin-bottom:1rem;font-size:1rem;font-weight:500}.social-icons{gap:1.5rem;display:flex}.social-link{color:var(--text-muted);transition:color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.social-link:hover{color:var(--accent);transform:translateY(-2px)}.social-link svg{display:block}.tiptap-editor{border:none;border-bottom:1px solid var(--border)}.editor-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem 0;display:flex}.editor-toolbar button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .5rem;font-size:.9rem;font-weight:600;transition:all .2s}.editor-toolbar button:hover{border-color:var(--text-main);color:var(--text-main);transform:none}.editor-toolbar button.is-active{background:var(--text-main);color:var(--bg);border-color:var(--text-main)}.tiptap-editor .tiptap{outline:none;min-height:300px;padding:.75rem 0}.tiptap-editor .tiptap p{color:var(--text-main);margin:0 0 1rem}.tiptap-editor .tiptap h1,.tiptap-editor .tiptap h2,.tiptap-editor .tiptap h3{color:var(--text-main);margin:1.5rem 0 .75rem}.tiptap-editor .tiptap ul,.tiptap-editor .tiptap ol{margin:1rem 0;padding-left:1.5rem}.tiptap-editor .tiptap li{margin:.5rem 0}.tiptap-editor .tiptap blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin:1rem 0;padding-left:1rem;font-style:italic}.tiptap-editor .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-light);pointer-events:none;height:0}.tiptap-editor .tiptap img{border-radius:4px;max-width:100%;height:auto;margin:1rem 0}.image-input-wrapper{align-items:center;gap:.5rem;margin-left:.5rem;display:flex}.image-input-wrapper input{border:1px solid var(--border);color:var(--text-main);background:0 0;border-radius:4px;width:250px;padding:.25rem .5rem;font-size:.85rem}.image-input-wrapper button{padding:.25rem .5rem;font-size:.85rem}.color-select,.font-size-select{border:1px solid var(--border);background:var(--bg);color:var(--text-main);cursor:pointer;border-radius:4px;padding:.25rem .5rem;font-size:.85rem}.color-select option,.font-size-select option{background:var(--bg);color:var(--text-main)}.color-select:hover,.font-size-select:hover{border-color:var(--text-main);color:var(--text-main)}.dark-mode .editor-toolbar{border-bottom-color:var(--border)}.dark-mode .editor-toolbar button{border-color:var(--border);color:var(--text-muted)}.dark-mode .editor-toolbar button:hover{border-color:var(--text-main);color:var(--text-main)}.dark-mode .editor-toolbar button.is-active{background:var(--text-main);color:var(--bg);border-color:var(--text-main)}.dark-mode .tiptap-editor{border-bottom-color:var(--border)}.dark-mode .image-input-wrapper input{border-color:var(--border);color:var(--text-main)}.dark-mode .color-select,.dark-mode .font-size-select{border-color:var(--border);color:var(--text-muted)}.dark-mode .color-select:hover,.dark-mode .font-size-select:hover{border-color:var(--text-main);color:var(--text-main)}.tiptap-editor .tiptap span[data-style],.post-detail .content span[data-style]{display:inline}
