*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#ffffff;--text:#1a1a1a;--muted:#666666;--border:#e0e0e0;--accent:#1a1a1a;--success:#2d6a4f;--error:#c1121f;--draft-bg:#fff3cd;--draft-text:#856404;--published-bg:#d1fae5;--published-text:#065f46;--toolbar-bg:#f5f5f5}[data-theme=dark]{--bg:#111111;--text:#f0f0f0;--muted:#999999;--border:#333333;--accent:#f0f0f0;--draft-bg:#3d2f00;--draft-text:#fcd34d;--published-bg:#052e16;--published-text:#86efac;--toolbar-bg:#1e1e1e}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);font-size:16px;line-height:1.5;min-height:100vh}a,body{color:var(--text)}a{text-decoration:underline}a:hover{opacity:.7}.container{max-width:760px;margin:0 auto;padding:0 1.5rem}header{border-bottom:1px solid var(--border);padding:1rem 0;margin-bottom:2rem}header .container{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}header .site-title{font-weight:600;font-size:1rem;text-decoration:none}header .header-actions{display:flex;align-items:center;gap:.5rem}.btn{display:inline-block;padding:.5rem 1.25rem;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.9rem;font-family:inherit;cursor:pointer;border-radius:4px;line-height:1.4;transition:opacity .15s}.btn,.btn:hover{text-decoration:none}.btn:hover{opacity:.75}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-icon{padding:.5rem .6rem;line-height:1}.badge{display:inline-block;font-size:.75rem;padding:.1rem .5rem;border-radius:999px;font-weight:500}.badge-draft{background:var(--draft-bg);color:var(--draft-text)}.badge-published{background:var(--published-bg);color:var(--published-text)}.badge-category{background:var(--border);color:var(--muted)}.badge-lang-en{background:#dbeafe;color:#1d4ed8;text-decoration:none}.badge-lang-id{background:#fce7f3;color:#9d174d;text-decoration:none}.badge-lang-missing{background:var(--border);color:var(--muted);opacity:.5}[data-theme=dark] .badge-lang-en{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .badge-lang-id{background:#4a0d2d;color:#f9a8d4}.alert{padding:.75rem 1rem;border-radius:4px;font-size:.9rem;margin-bottom:1rem}.alert-success{background:var(--published-bg);color:var(--published-text)}.alert-error{background:#fee2e2;color:var(--error)}[data-theme=dark] .alert-error{background:#3d0000;color:#fca5a5}.tiptap-editor{border:1px solid var(--border);border-radius:4px;overflow:hidden}.tiptap-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.4rem .5rem;background:var(--toolbar-bg);border-bottom:1px solid var(--border)}.tiptap-toolbar button{padding:.25rem .5rem;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--text);font-family:inherit;font-size:.8rem;cursor:pointer;line-height:1.4;transition:background .1s,border-color .1s}.tiptap-toolbar button:hover{background:var(--border);border-color:var(--border)}.tiptap-toolbar button.is-active{background:var(--border);border-color:var(--text)}.tiptap-toolbar-sep{width:1px;background:var(--border);margin:.1rem .15rem;align-self:stretch}.tiptap-content{padding:.75rem 1rem;min-height:480px;cursor:text}.tiptap-content .ProseMirror{outline:none;min-height:460px}.tiptap-content .ProseMirror p{margin:.75em 0}.tiptap-content .ProseMirror p:first-child{margin-top:0}.tiptap-content .ProseMirror h1,.tiptap-content .ProseMirror h2,.tiptap-content .ProseMirror h3,.tiptap-content .ProseMirror h4{margin:1.25em 0 .5em;line-height:1.3;font-weight:600}.tiptap-content .ProseMirror h1{font-size:1.5rem}.tiptap-content .ProseMirror h2{font-size:1.25rem}.tiptap-content .ProseMirror h3{font-size:1.05rem}.tiptap-content .ProseMirror ol,.tiptap-content .ProseMirror ul{margin:.75em 0;padding-left:1.5em}.tiptap-content .ProseMirror li{margin:.25em 0}.tiptap-content .ProseMirror blockquote{border-left:3px solid var(--border);margin:.75em 0;padding:.25em .75em;color:var(--muted)}.tiptap-content .ProseMirror code{font-family:monospace;font-size:.875em;background:var(--toolbar-bg);padding:.1em .3em;border-radius:3px}.tiptap-content .ProseMirror pre{background:var(--toolbar-bg);padding:.75rem;border-radius:4px;overflow-x:auto;margin:.75em 0}.tiptap-content .ProseMirror pre code{background:none;padding:0}.tiptap-content .ProseMirror a{color:var(--text);text-decoration:underline}.tiptap-content .ProseMirror hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.tiptap-content .ProseMirror strong{font-weight:600}.tiptap-content .ProseMirror em{font-style:italic}@media (max-width:640px){.container{padding:0 1rem}header{margin-bottom:1.5rem}.btn{padding:.55rem 1rem}.tiptap-content{min-height:360px}.tiptap-content .ProseMirror{min-height:340px}}