:root { --bg:#f5f7fb; --surface:#fff; --text:#1f2937; --muted:#6b7280; --primary:#0f766e; --primary-dark:#115e59; --border:#dbe2ea; --danger:#b91c1c; }
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)} a{color:var(--primary);text-decoration:none} a:hover{text-decoration:underline}
.container{max-width:1120px;margin:0 auto;padding:2rem 1rem 4rem}.container.narrow{max-width:860px}.container.wide{max-width:1380px}.header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:2rem}.header h1{margin:0 0 .4rem;font-size:2rem}.header p{margin:0;color:var(--muted)}
.button{display:inline-block;background:var(--primary);color:#fff;border:none;border-radius:.6rem;padding:.75rem 1rem;text-decoration:none;cursor:pointer}.button:hover{background:var(--primary-dark);text-decoration:none}.button.secondary{background:#e7eef5;color:var(--text)}
.filters,.stack{display:grid;gap:1rem}.filters{grid-template-columns:1fr 220px auto;margin-bottom:1.5rem}.filters.filters-4{grid-template-columns:2fr 1fr 220px auto}
input,select,textarea{width:100%;padding:.8rem .9rem;border:1px solid var(--border);border-radius:.6rem;background:#fff} textarea.code-area{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:360px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.card-top,.meta,.tags,.actions,.tag-cloud{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.card h2{margin:.8rem 0 .5rem;font-size:1.15rem}.badge,.tag{display:inline-block;padding:.25rem .6rem;border-radius:999px;background:#dff5f1;color:#115e59;font-size:.85rem}.tag{background:#eef2ff;color:#4338ca}
.snippet-header{margin:1rem 0 1.2rem}.snippet-header h1{margin:0 0 .4rem} pre{border-radius:1rem;overflow:auto;font-size:.95rem}.editor-layout{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.editor-layout-v2{grid-template-columns:1.4fr 1fr}.snippet-list{margin:0;padding-left:1rem}.snippet-list li{margin:0 0 .7rem}.error{color:var(--danger)}.hint,.count{color:var(--muted)}.copy-wrap{margin-bottom:.75rem;display:flex;justify-content:flex-end}.tag-cloud{margin:0 0 1rem}
.markdown-body{background:#fff;border:1px solid var(--border);border-radius:1rem;padding:1rem 1.2rem;margin:0 0 1rem;min-height:160px}.markdown-body p,.markdown-body li{line-height:1.7}.markdown-body code{background:#eef2ff;padding:.15rem .35rem;border-radius:.3rem}.markdown-body pre code{background:transparent;padding:0}
@media (max-width:980px){.editor-layout,.editor-layout-v2{grid-template-columns:1fr}} @media (max-width:800px){.header,.filters,.filters.filters-4{grid-template-columns:1fr;display:grid}}

.diff-output{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;line-height:1.7}.diff-output ins{background:#dcfce7;color:#166534;text-decoration:none;padding:.08rem .1rem;border-radius:.2rem}.diff-output del{background:#fee2e2;color:#991b1b;text-decoration:line-through;padding:.08rem .1rem;border-radius:.2rem}.diff-code{overflow:auto}
.code-line-diff{border:1px solid var(--border);border-radius:.75rem;overflow:hidden;background:#fff}.code-line-diff-head,.diff-row{display:grid;grid-template-columns:70px 70px 1fr}.code-line-diff-head{background:#eef2f7;color:var(--muted);font-size:.85rem;font-weight:600}.code-line-diff-head span,.diff-row span,.diff-row code{padding:.55rem .7rem;border-bottom:1px solid var(--border)}.diff-row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;display:block}.diff-row-same{background:#fff}.diff-row-add{background:#ecfdf5}.diff-row-del{background:#fef2f2}.diff-no{color:var(--muted);font-variant-numeric:tabular-nums}.diff-code-lines .hint{padding:1rem}
.diff-collapse{border-bottom:1px solid var(--border);background:#f8fafc}.diff-collapse summary{cursor:pointer;list-style:none;padding:.7rem .9rem;color:var(--primary);font-weight:600}.diff-collapse summary::-webkit-details-marker{display:none}.diff-row-hidden{background:#fafafa}
.login-inline{margin:1rem 0 1.5rem 0}.login-inline input{max-width:28rem}