body,html{margin:0;padding:0;height:100%}canvas,img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit;margin:0;padding:0;border:none;background:none;outline:revert}:focus-visible{outline:2px solid var(--jot-color-primary,#3b82f6);outline-offset:2px}a{color:inherit;text-decoration:none}ol,ul{list-style:none;padding:0;margin:0}h1,h2,h3,h4,h5,h6{margin:0;font-weight:inherit;font-size:inherit}p{margin:0}table{border-collapse:collapse;border-spacing:0}:root{--jot-color-text:#111;--jot-color-text-muted:#666;--jot-color-text-secondary:#6b7280;--jot-color-background:#fff;--jot-color-background-secondary:#f9fafb;--jot-color-background-hover:#f3f4f6;--jot-color-border:#e5e7eb;--jot-color-border-hover:#9ca3af;--jot-color-primary:#3b82f6;--jot-color-primary-hover:#2563eb;--jot-color-primary-dark:#1d4ed8;--jot-color-secondary:#6c757d;--jot-color-secondary-dark:#545b62;--jot-color-accent:#10b981;--jot-color-accent-hover:#059669;--jot-color-error:#d32f2f;--jot-color-error-bg:#fef2f2;--jot-color-error-text:#7f1d1d;--jot-font-size-xs:0.75rem;--jot-font-size-sm:0.875rem;--jot-font-size-base:1rem;--jot-font-size-md:1.125rem;--jot-font-size-lg:1.5rem;--jot-font-size-xl:1.75rem;--jot-font-size-2xl:2rem;--jot-font-weight-normal:400;--jot-font-weight-semibold:600;--jot-font-weight-bold:700;--jot-line-height-base:1.6;--jot-line-height-tight:1.3;--jot-spacing-xs:0.25rem;--jot-spacing-sm:0.5rem;--jot-spacing-md:1rem;--jot-spacing-lg:2rem;--jot-spacing-xl:4rem;--jot-radius-sm:4px;--jot-radius-md:8px;--jot-radius-lg:12px;--jot-shadow-sm:0 1px 2px rgba(0,0,0,0.05);--jot-shadow-md:0 2px 4px rgba(0,0,0,0.1);--jot-shadow-lg:0 4px 8px rgba(0,0,0,0.15);--jot-max-width:1200px;--jot-header-height:64px;--jot-color-surface-inset:rgba(0,0,0,.06);--jot-color-surface-inset-hover:rgba(0,0,0,.10);--jot-transition-base:0.2s ease}@media (prefers-color-scheme:dark){:root{--jot-color-text:#f9fafb;--jot-color-text-muted:#9ca3af;--jot-color-text-secondary:#9ca3af;--jot-color-background:#111;--jot-color-background-secondary:#1a1a1a;--jot-color-background-hover:#222;--jot-color-border:#333;--jot-color-border-hover:#555;--jot-color-primary:#60a5fa;--jot-color-primary-hover:#3b82f6;--jot-color-primary-dark:#2563eb;--jot-color-secondary:#9ca3af;--jot-color-secondary-dark:#6b7280;--jot-color-accent:#34d399;--jot-color-accent-hover:#10b981;--jot-color-error:#f87171;--jot-color-error-bg:#450a0a;--jot-color-error-text:#fca5a5;--jot-color-surface-inset:rgba(0,0,0,.18);--jot-color-surface-inset-hover:rgba(0,0,0,.28);--jot-shadow-sm:0 1px 2px rgba(0,0,0,0.3);--jot-shadow-md:0 2px 4px rgba(0,0,0,0.4);--jot-shadow-lg:0 4px 8px rgba(0,0,0,0.5)}}body,html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--jot-font-size-base);font-weight:var(--jot-font-weight-normal);line-height:var(--jot-line-height-base);color:var(--jot-color-text);background:var(--jot-color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1{font-size:var(--jot-font-size-2xl)}h1,h2{line-height:var(--jot-line-height-tight);font-weight:var(--jot-font-weight-bold)}h2{font-size:var(--jot-font-size-xl)}h3{font-size:var(--jot-font-size-lg)}h3,h4{line-height:var(--jot-line-height-tight);font-weight:var(--jot-font-weight-semibold)}h4{font-size:var(--jot-font-size-md)}h5{font-size:var(--jot-font-size-base)}h5,h6{line-height:var(--jot-line-height-tight);font-weight:var(--jot-font-weight-semibold)}h6,small{font-size:var(--jot-font-size-sm)}small{color:var(--jot-color-text-muted)}.stack{display:flex;flex-direction:column;gap:var(--jot-spacing-md)}.stack.gap-sm{gap:var(--jot-spacing-sm)}.stack.gap-lg{gap:var(--jot-spacing-lg)}.cluster{display:flex;flex-wrap:wrap;gap:var(--jot-spacing-sm);align-items:center}.sidebar{display:flex;flex-wrap:wrap;gap:var(--jot-spacing-md);>.side{flex-basis:240px;flex-shrink:0}>.main{flex:1 1;min-width:0}}.cover{display:flex;flex-direction:column;justify-content:center;min-height:100dvh;padding:var(--jot-spacing-md)}.center{max-width:var(--jot-max-width);margin-inline:auto;padding-inline:var(--jot-spacing-md)}.page-full{display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;>main{overflow-y:auto}}.page-holy-grail{display:grid;grid-template:"header header header" auto "nav    main   aside" 1fr "footer footer footer" auto/auto 1fr auto;min-height:100dvh;>header{grid-area:header}>nav{grid-area:nav}>main{grid-area:main;min-width:0}>aside{grid-area:aside}>footer{grid-area:footer}}@media (max-width:768px){.page-holy-grail{grid-template:"header" auto "nav" auto "main" 1fr "aside" auto "footer" auto/1fr}}.card{background:var(--jot-color-background-secondary);border:1px solid var(--jot-color-border);border-radius:var(--jot-radius-md);padding:var(--jot-spacing-md);>.card-header{font-weight:var(--jot-font-weight-semibold);margin-bottom:var(--jot-spacing-sm)}>.card-body,>.card-footer{color:var(--jot-color-text-muted)}>.card-footer{border-top:1px solid var(--jot-color-border);padding-top:var(--jot-spacing-sm);margin-top:var(--jot-spacing-sm);font-size:var(--jot-font-size-sm)}}*,:after,:before{box-sizing:border-box}body{margin:0}input,select,textarea{width:100%;padding:var(--jot-spacing-sm) var(--jot-spacing-md);font-size:var(--jot-font-size-base);font-family:inherit;color:var(--jot-color-text);background:var(--jot-color-background);border:1px solid var(--jot-color-border);border-radius:var(--jot-radius-md);outline:none;transition:border-color var(--jot-transition-base)}input:focus,select:focus,textarea:focus{border-color:var(--jot-color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--jot-color-primary) 15%,transparent)}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}button{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:var(--jot-spacing-sm) var(--jot-spacing-md);font-size:var(--jot-font-size-base);font-weight:var(--jot-font-weight-semibold);font-family:inherit;color:#fff;background:var(--jot-color-primary);border:none;border-radius:var(--jot-radius-md);cursor:pointer;transition:background var(--jot-transition-base)}button:hover:not(:disabled){background:var(--jot-color-primary-hover)}button:disabled{opacity:.55;cursor:not-allowed}label{display:block;font-size:var(--jot-font-size-sm);font-weight:var(--jot-font-weight-semibold);color:var(--jot-color-text-muted);margin-bottom:var(--jot-spacing-xs)}