*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}.container{max-width:1080px;margin:0 auto;padding:24px}.subtle{color:#666}.error{color:#b00020}.post-list{display:grid;gap:12px}.card{padding:16px;background:#fff;border:1px solid #ececec;border-radius:8px}.meta{margin-top:8px;color:#555;font-size:12px}.admin-layout{display:grid;gap:16px;grid-template-columns:320px 1fr}.sidebar,.editor{background:#fff;border:1px solid #ececec;border-radius:8px;padding:16px}.sidebar{display:flex;flex-direction:column;gap:8px}.sidebar button,.editor button{padding:8px 10px;border:1px solid #d2d2d2;border-radius:6px;background:#fff;text-align:left;cursor:pointer}.sidebar button.active{border-color:#333;font-weight:600}.editor{display:flex;flex-direction:column;gap:8px}.editor input,.editor textarea{width:100%;border:1px solid #d2d2d2;border-radius:6px;padding:10px}.row{display:flex;gap:8px}.auth-card{max-width:520px;margin:0 auto;background:#fff;border:1px solid #ececec;border-radius:8px;padding:20px}.auth-form{display:flex;flex-direction:column;gap:10px;margin-top:12px}.auth-form input{width:100%;border:1px solid #d2d2d2;border-radius:6px;padding:10px}.auth-form button{width:fit-content;padding:8px 12px;border:1px solid #d2d2d2;border-radius:6px;background:#fff;cursor:pointer}.prose{color:#13212a;font-size:1.04rem}.prose h1,.prose h2,.prose h3{line-height:1.3;margin:1.75em 0 .6em}.prose p,.prose ul,.prose ol,.prose blockquote{line-height:1.8;margin:0 0 1rem}.prose ul,.prose ol{padding-left:1.25rem}.prose blockquote{border-left:3px solid #b8c9d5;padding:.4rem 0 .4rem 1rem;color:#2d4859}.prose a{color:#1d6f8c}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9em;background:#eef4f6;border-radius:5px;padding:.1rem .35rem}.prose pre{overflow-x:auto;background:#0f1720;color:#dbe7ee;border-radius:10px;padding:.9rem 1rem}.prose pre code{background:transparent;color:inherit;padding:0}.rich-text-editor{border:1px solid #d2d2d2;border-radius:6px;overflow:hidden}.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;background:#f5f5f5;border-bottom:1px solid #d2d2d2}.rich-text-toolbar button{padding:6px 10px;border:1px solid transparent;border-radius:4px;background:transparent;font-size:13px;cursor:pointer;min-width:32px}.rich-text-toolbar button:hover{background:#e8e8e8}.rich-text-toolbar button.is-active{background:#d0e0eb;border-color:#1d6f8c;font-weight:600}.rich-text-toolbar .toolbar-sep{width:1px;margin:2px 4px;background:#ccc}.rich-text-content{padding:12px 14px;min-height:200px}.rich-text-content .ProseMirror{outline:none;min-height:180px}.rich-text-content .ProseMirror p{margin:0 0 .75rem}.rich-text-content .ProseMirror p:last-child{margin-bottom:0}.rich-text-content .ProseMirror h2,.rich-text-content .ProseMirror h3{margin:1.25em 0 .5em;line-height:1.3}.rich-text-content .ProseMirror ul,.rich-text-content .ProseMirror ol{padding-left:1.5rem;margin:0 0 .75rem}.rich-text-content .ProseMirror blockquote{border-left:3px solid #b8c9d5;padding-left:1rem;margin:0 0 .75rem;color:#2d4859}.rich-text-content .ProseMirror pre{background:#0f1720;color:#dbe7ee;border-radius:6px;padding:.75rem 1rem;overflow-x:auto;margin:0 0 .75rem}.rich-text-content .ProseMirror code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;background:#eef4f6;padding:.1rem .3rem;border-radius:4px}.rich-text-content .ProseMirror pre code{background:transparent;padding:0}.rich-text-content .ProseMirror a{color:#1d6f8c;text-decoration:underline}
