:root{--color-background:#fbfbf9;--color-surface:#fff;--color-border:#dcdcd4;--color-text:#1f2328;--color-text-muted:#59616a;--color-brand:#2f6f4f;--color-brand-contrast:#fff;--color-error:#b3261e;--color-error-surface:#fdecea;--color-info:#0b5cad;--color-info-surface:#e8f1fb;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--content-max-width:64rem}*,:before,:after{box-sizing:border-box}html{height:100%}body{min-height:100%;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-background);flex-direction:column;margin:0;line-height:1.6;display:flex}#app{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{margin-top:0;line-height:1.25}a{color:var(--color-brand)}button{font:inherit;cursor:pointer}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{width:100%;max-width:var(--content-max-width);flex:1;margin:0 auto;padding:2rem 1.25rem}.site-header{z-index:10;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex;position:sticky;top:0}.site-header__brand{color:var(--color-text);flex-direction:column;text-decoration:none;display:flex}.site-header__logo{color:var(--color-brand);font-size:1.35rem;font-weight:700}.site-header__tagline{color:var(--color-text-muted);font-size:.75rem}.site-header__nav{align-items:center;gap:.5rem;display:flex}.site-header__nav a,.site-header__user{border-radius:6px;padding:.4rem .65rem;font-size:.95rem}.site-header__nav a{color:var(--color-text);text-decoration:none}.site-header__nav a:hover,.site-header__nav a.router-link-exact-active{background-color:var(--color-brand);color:var(--color-brand-contrast)}.site-header__user{color:var(--color-text-muted);font-style:italic}.site-footer{border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);padding:1rem 1.25rem;font-size:.85rem}.ui-messages{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.ui-message{border:1px solid var(--color-border);border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .85rem;display:flex}.ui-message--error{background-color:var(--color-error-surface);border-color:var(--color-error);color:var(--color-error)}.ui-message--info{background-color:var(--color-info-surface);border-color:var(--color-info);color:var(--color-info)}.ui-message__dismiss{color:inherit;background:0 0;border:0;text-decoration:underline}.button{background-color:var(--color-brand);border-radius:6px;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-block;color:var(--color-brand-contrast)!important}.button:hover{filter:brightness(.94)}.button:disabled{cursor:default;opacity:.65}.form{flex-direction:column;gap:1rem;max-width:28rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field label{font-size:.95rem;font-weight:600}.field input{font:inherit;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);border-radius:6px;padding:.55rem .7rem}.field input:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}.site-header__button{color:var(--color-text);background:0 0;border:0;border-radius:6px;padding:.4rem .65rem;font-size:.95rem}.site-header__button:hover{background-color:var(--color-brand);color:var(--color-brand-contrast)}.markdown-page h1,.markdown-page h2,.markdown-page h3{color:var(--color-text)}.markdown-page img{max-width:100%}.markdown-page code{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:.1rem .3rem}
