@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500&display=swap");:root{--bg:#f6f5fb;--surface:#fff;--ink:#14142b;--ink-soft:#5b5a72;--border:#e6e4f2;--primary:#5b5bd6;--primary-ink:#fff;--accent:#ff6b4a;--success:#1fae64;--success-bg:#e7f8ef;--error:#e0393e;--error-bg:#fdecec;--radius:14px;--radius-sm:8px;--shadow:0 1px 2px rgba(20,20,43,.04),0 8px 24px rgba(20,20,43,.06);--font-display:"Space Grotesk",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.mono-tag{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-soft)}.btn-primary{background:var(--primary);color:var(--primary-ink);border:none;border-radius:999px;padding:10px 20px;font-weight:600;font-size:14px;transition:transform .12s ease,opacity .12s ease}.btn-primary:hover{opacity:.92}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--border);border-radius:999px;padding:9px 18px;font-weight:600;font-size:14px;color:var(--ink)}.btn-ghost:hover{background:var(--bg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.field-error{color:var(--error);font-size:13px;margin-top:4px;font-weight:500}.toast-error{background:var(--error-bg);color:var(--error);font-family:var(--font-mono)}.toast-error,.toast-success{border-radius:var(--radius-sm);padding:10px 14px;font-size:13.5px;font-weight:500}.toast-success{background:var(--success-bg);color:var(--success)}[data-theme=dark]{--bg:#14131f;--surface:#1c1b2b;--ink:#f1f0f9;--ink-soft:#9c9ab8;--border:#2c2a40;--primary:#8080f0;--primary-ink:#14131f;--accent:#ff8264;--success:#3fd98a;--success-bg:#14301f;--error:#ff6b6b;--error-bg:#341418;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35)}[data-theme=mint]{--bg:#f1faf5;--surface:#fff;--ink:#0f2e20;--ink-soft:#4f7a65;--border:#d3ecde;--primary:#1fae64;--primary-ink:#fff;--accent:#ff8a4c;--success:#1fae64;--success-bg:#e1f6ea;--error:#e0393e;--error-bg:#fdecec}.site-footer{max-width:640px;margin:24px auto 40px;padding:16px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;font-size:13px;color:var(--ink-soft);border-top:1px solid var(--border)}.site-footer a:hover{color:var(--primary)}.theme-swatch{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0}.theme-swatch[aria-pressed=true]{border-color:var(--primary)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--bg) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none;opacity:.6}}html{-webkit-text-size-adjust:100%}body,html{overflow-x:hidden;width:100%;max-width:100vw}img,svg,video{max-width:100%;height:auto}*{min-width:0}.card,.code-block,pre{max-width:100%}pre{overflow-x:auto}@media (max-width:640px){.app-main,.container{padding-left:12px;padding-right:12px}h1{font-size:19px!important}.right-rail-card{padding:14px}}@media (max-width:480px){.nav-links-text{display:none}.btn-ghost,.btn-primary{padding:8px 12px;font-size:12.5px}.compose-footer,.post-actions{gap:10px!important}input,select,textarea{font-size:16px}.topbar-themes{gap:4px}}@media (max-width:380px){.app-main,.container{padding-left:8px;padding-right:8px}.card{padding:12px!important}h1{font-size:17px!important}.btn-ghost,.btn-primary{padding:7px 10px;font-size:12px}.mono-tag{font-size:11px}}@media (min-width:641px) and (max-width:1024px){.app-shell{max-width:100%}}@media (min-width:1600px){.app-shell{max-width:1320px}.app-main{max-width:720px}}.card,.mono-tag,p{overflow-wrap:break-word;word-break:break-word}code,pre{white-space:pre-wrap;word-break:break-word}.code-block pre{white-space:pre;word-break:normal}.code-block code,.code-block pre{background:var(--surface);color:var(--ink);font-family:var(--font-mono)}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:var(--ink-soft);font-style:italic}.token.punctuation{color:var(--ink-soft)}.token.boolean,.token.constant,.token.number,.token.property,.token.symbol,.token.tag{color:var(--accent)}.token.attr-name,.token.builtin,.token.char,.token.selector,.token.string{color:var(--success)}.token.entity,.token.operator,.token.url{color:var(--ink)}.token.atrule,.token.attr-value,.token.keyword{color:var(--primary);font-weight:600}.token.class-name,.token.function,.token.important,.token.regex,.token.variable{color:var(--accent)}.topbar{display:none;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:30}.topbar-menu-btn{background:none;border:none;color:var(--ink);display:flex}.topbar-logo{align-items:center;font-family:var(--font-display);font-weight:700;color:var(--primary);font-size:16px}.topbar-logo,.topbar-themes{display:flex;gap:6px}.app-shell{display:flex;align-items:flex-start;max-width:1180px;margin:0 auto;gap:24px;padding:0 16px}.sidebar{width:220px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 10px;border-right:1px solid var(--border);transition:width .15s ease}.sidebar-collapsed{width:68px}.sidebar-top{justify-content:space-between;padding:4px 6px 18px}.sidebar-logo,.sidebar-top{display:flex;align-items:center}.sidebar-logo{gap:8px;font-family:var(--font-display);font-weight:700;font-size:19px;color:var(--primary);overflow:hidden;white-space:nowrap}.sidebar-toggle{background:none;border:1px solid var(--border);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius-sm);color:var(--ink-soft);font-weight:600;font-size:14.5px;background:none;border:none;text-align:left;width:100%;white-space:nowrap;overflow:hidden}.sidebar-link:hover{background:var(--bg);color:var(--ink)}.sidebar-link.active{background:var(--bg);color:var(--primary)}.sidebar-bottom{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border);padding-top:8px}.sidebar-backdrop{display:none}.app-main{flex:1 1;min-width:0;max-width:640px;padding:0}.right-rail{width:280px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:18px;display:flex;flex-direction:column;gap:16px;padding:18px 0}.right-rail-card{padding:16px}.right-rail-title{font-family:var(--font-display);font-size:14.5px;margin:0 0 10px;display:flex;align-items:center;gap:6px}.right-rail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13.5px;border-top:1px solid var(--border)}.right-rail-row:first-of-type{border-top:none}.right-rail-empty{color:var(--ink-soft);font-size:13px;margin:0}@media (max-width:1024px){.right-rail{display:none}}@media (max-width:860px){.topbar{display:flex}.app-shell{padding:0 12px;gap:0}.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:50;background:var(--surface);width:240px;transform:translateX(-100%);transition:transform .2s ease}.sidebar-mobile-open{transform:translateX(0)}.sidebar-collapsed{width:240px}.sidebar-toggle{display:none}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(20,20,43,.4);z-index:40}.app-main{padding-top:8px;width:100%}}input,textarea{font-family:var(--font-body);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;font-size:15px;background:var(--surface);color:var(--ink);width:100%}input:focus,textarea:focus{border-color:var(--primary)}